Blame Makefile.am

Packit a4aae4
# Build libdap, libtest-types.a, getdap, getdap4
Packit a4aae4
Packit a4aae4
AUTOMAKE_OPTIONS = foreign check-news subdir-objects
Packit a4aae4
ACLOCAL_AMFLAGS = -I conf -I gl/m4
Packit a4aae4
Packit a4aae4
aclocaldir=$(datadir)/aclocal
Packit a4aae4
pkgconfigdir=$(libdir)/pkgconfig
Packit a4aae4
Packit Service 9fa520
AM_CPPFLAGS = -I$(top_builddir)/gl -I$(top_srcdir)/gl -I$(top_srcdir)/GNU $(XML2_CFLAGS) $(TIRPC_CFLAGS)
Packit a4aae4
AM_CXXFLAGS = 
Packit a4aae4
Packit a4aae4
if COMPILER_IS_GCC
Packit a4aae4
AM_CXXFLAGS += -Wall -W -Wcast-align
Packit a4aae4
endif
Packit a4aae4
Packit a4aae4
# These are not used by automake but are often useful for certain types of
Packit a4aae4
# debugging. The best way to use these is to run configure as:
Packit a4aae4
# ./configure --disable-shared CXXFLAGS=...
Packit a4aae4
# or ./configure --enable-developer --disable-shared
Packit a4aae4
# the --disable-shared is not required, but it seems to help with debuggers.
Packit a4aae4
CXXFLAGS_DEBUG = -g3 -O0  -Wall -W -Wcast-align 
Packit a4aae4
TEST_COV_FLAGS = -g3 -ftest-coverage -fprofile-arcs
Packit a4aae4
Packit a4aae4
if BUILD_DEVELOPER
Packit a4aae4
AM_CXXFLAGS += $(CXXFLAGS_DEBUG)
Packit a4aae4
endif
Packit a4aae4
Packit a4aae4
SUBDIRS = gl d4_ce d4_function . unit-tests tests 
Packit a4aae4
DIST_SUBDIRS = gl d4_ce d4_function unit-tests tests
Packit a4aae4
Packit a4aae4
noinst_LTLIBRARIES = libparsers.la
Packit a4aae4
Packit a4aae4
lib_LTLIBRARIES = libdap.la libdapclient.la libdapserver.la
Packit a4aae4
Packit a4aae4
bin_SCRIPTS = dap-config dap-config-pkgconfig
Packit a4aae4
Packit a4aae4
bin_PROGRAMS = getdap getdap4
Packit a4aae4
Packit a4aae4
# Including the generated grammar sources in BUILT_SOURCES ensures
Packit a4aae4
# they are built first. jhrg 6/18/15
Packit a4aae4
BUILT_SOURCES = $(BISON_SRC) $(FLEX_SRC) dods-datatypes.h xdr-datatypes.h \
Packit a4aae4
	getdap.1 dap-config.1 getdap4.1
Packit a4aae4
Packit a4aae4
man_MANS = getdap.1 dap-config.1 getdap4.1
Packit a4aae4
Packit a4aae4
%.1: %.man1
Packit a4aae4
	groff -t -e -mandoc -Tascii $< | col -bx > $@
Packit a4aae4
Packit a4aae4
libparsers_la_SOURCES = $(FLEX_SRC) $(BISON_SRC)  
Packit Service 9fa520
libparsers_la_CPPFLAGS = $(XML2_CFLAGS) $(TIRPC_CFLAGS)
Packit a4aae4
libparsers_la_LIBADD = $(XML2_LIBS)
Packit a4aae4
Packit a4aae4
libdap_la_SOURCES = $(DAP_SRC) $(GNU_SRC)
Packit a4aae4
if DAP4_DEFINED
Packit a4aae4
    libdap_la_SOURCES += $(DAP4_ONLY_SRC)
Packit a4aae4
endif
Packit a4aae4
Packit a4aae4
libdap_la_LDFLAGS = -version-info $(LIBDAP_VERSION)
Packit a4aae4
libdap_la_CPPFLAGS = $(AM_CPPFLAGS)
Packit a4aae4
libdap_la_LIBADD = $(XML2_LIBS) $(PTHREAD_LIBS) gl/libgnu.la d4_ce/libd4_ce_parser.la \
Packit a4aae4
d4_function/libd4_function_parser.la libparsers.la
Packit a4aae4
Packit a4aae4
if DAP4_DEFINED
Packit a4aae4
    libdap_la_LIBADD += -lcrypto 
Packit a4aae4
endif
Packit a4aae4
Packit a4aae4
libdapclient_la_SOURCES = $(CLIENT_SRC) 
Packit a4aae4
libdapclient_la_LDFLAGS = -version-info $(CLIENTLIB_VERSION)
Packit a4aae4
libdapclient_la_CPPFLAGS = $(AM_CPPFLAGS) $(CURL_CFLAGS)
Packit a4aae4
libdapclient_la_LIBADD = $(CURL_LIBS) libdap.la $(PTHREAD_LIBS)
Packit a4aae4
if DAP4_DEFINED
Packit a4aae4
    libdapclient_la_SOURCES += $(DAP4_CLIENT_HDR) $(DAP4_CLIENT_SRC)
Packit a4aae4
endif
Packit a4aae4
Packit a4aae4
libdapserver_la_SOURCES = $(SERVER_SRC)
Packit a4aae4
libdapserver_la_LDFLAGS = -version-info $(SERVERLIB_VERSION)
Packit a4aae4
libdapserver_la_LIBADD = libdap.la $(UUID_LIBS)
Packit a4aae4
Packit a4aae4
pkginclude_HEADERS = $(DAP_HDR) $(GNU_HDR) $(CLIENT_HDR) $(SERVER_HDR) 
Packit a4aae4
if DAP4_DEFINED
Packit a4aae4
    pkginclude_HEADERS += $(DAP4_ONLY_HDR) $(DAP4_CLIENT_HDR)
Packit a4aae4
endif
Packit a4aae4
Packit a4aae4
noinst_HEADERS = config_dap.h
Packit a4aae4
Packit a4aae4
getdap_SOURCES = getdap.cc
Packit a4aae4
getdap_LDADD = libdapclient.la libdap.la
Packit a4aae4
getdap_CPPFLAGS = $(AM_CPPFLAGS) $(CURL_CFLAGS)
Packit a4aae4
Packit a4aae4
getdap4_SOURCES = getdap4.cc
Packit a4aae4
getdap4_LDADD = libdapclient.la libdap.la
Packit a4aae4
getdap4_CPPFLAGS = $(AM_CPPFLAGS) $(CURL_CFLAGS)
Packit a4aae4
Packit a4aae4
LEX_YACC_EXTRA = das.lex das.yy dds.lex dds.yy ce_expr.lex ce_expr.yy \
Packit a4aae4
Error.lex Error.yy
Packit a4aae4
Packit a4aae4
EXTRA_DIST = ChangeLog COPYING README.dodsrc COPYRIGHT_URI	\
Packit a4aae4
	COPYRIGHT_W3C GNU/README doxy.conf.in libdap.spec VCPP	\
Packit a4aae4
	dods-datatypes-static.h xdr-datatypes-static.h		\
Packit a4aae4
	dap-config-pkgconfig $(LEX_YACC_EXTRA) OSX_Resources	\
Packit a4aae4
	getdap.man1 dap-config.man1 getdap4.man1
Packit a4aae4
Packit a4aae4
dist_aclocal_DATA = conf/libdap.m4
Packit a4aae4
pkgconfig_DATA = libdap.pc libdapclient.pc libdapserver.pc
Packit a4aae4
Packit a4aae4
CLEANFILES = *.log *.output *.gcda *.gcno $(BISON_SRC) $(FLEX_SRC) \
Packit a4aae4
	dods-datatypes.h xdr-datatypes.h getdap.1 dap-config.1 getdap4.1
Packit a4aae4
Packit a4aae4
HTML_DOCS=html
Packit a4aae4
DOXYGEN_CONF=doxy.conf
Packit a4aae4
Packit a4aae4
# This target only builds the documents, it does not move them to
Packit a4aae4
# github. Use the 'gh-docs' target below for that.
Packit a4aae4
.PHONY: docs
Packit a4aae4
docs: ${DOXYGEN_CONF}
Packit a4aae4
	doxygen ${DOXYGEN_CONF}
Packit a4aae4
Packit a4aae4
# GitHub.io docs 
Packit a4aae4
.PHONY: gh-docs 
Packit a4aae4
gh-docs:
Packit a4aae4
	./build-gh-docs.sh
Packit a4aae4
Packit a4aae4
# cccc computes metrics like Lines of code and McCabe. It's available
Packit a4aae4
# on the web...
Packit a4aae4
.PHONY: cccc
Packit a4aae4
cccc:
Packit a4aae4
	-mkdir cccc
Packit a4aae4
	cccc --outdir=cccc $(DAP_SRC) $(SERVER_SRC) $(CLIENT_SRC) \
Packit a4aae4
	$(DAP_HDR) $(SERVER_HDR) $(CLIENT_HDR)
Packit a4aae4
Packit a4aae4
###########################################################################
Packit a4aae4
Packit a4aae4
# Fortify targets.
Packit a4aae4
.PHONY: fortify
Packit a4aae4
fortify: $(BUILT_SOURCES)
Packit a4aae4
	(cd gl && sourceanalyzer -b @PACKAGE@-gl $(MAKE) $(MFLAGS) )
Packit a4aae4
	(cd d4_ce && sourceanalyzer -b @PACKAGE@-d4_ce $(MAKE) $(MFLAGS) )
Packit a4aae4
	sourceanalyzer -b @PACKAGE@-parsers $(MAKE) $(MFLAGS) libparsers.la
Packit a4aae4
	sourceanalyzer -b @PACKAGE@ $(MAKE) $(MFLAGS) libdap.la libdapserver.la libdapclient.la
Packit a4aae4
	sourceanalyzer -b @PACKAGE@ -scan -f @PACKAGE@-@PACKAGE_VERSION@.fpr
Packit a4aae4
Packit a4aae4
# run fortify on only our code, not the gnulib code or the flex/bison code.
Packit a4aae4
# This does skip testing some of the functions we wrote in the *.lex/*.yy
Packit a4aae4
# files but should eliminate the false positives from flex and bison, too.
Packit a4aae4
.PHONY: fortify-lite
Packit a4aae4
fortify-lite: dods-datatypes.h xdr-datatypes.h
Packit a4aae4
	( cd gl && $(MAKE) $(MFLAGS) )
Packit a4aae4
	( cd d4_ce && $(MAKE) $(MFLAGS) )
Packit a4aae4
	$(MAKE)  $(MFLAGS) libparsers.la
Packit a4aae4
	sourceanalyzer -b @PACKAGE@ $(MAKE) $(MFLAGS) libdap.la libdapserver.la libdapclient.la
Packit a4aae4
	sourceanalyzer -b @PACKAGE@ -scan -f @PACKAGE@-@PACKAGE_VERSION@.fpr
Packit a4aae4
Packit a4aae4
# No longer used? jhrg 1/29/13
Packit a4aae4
#grammar_objects = lex.das.o das.tab.o lex.dds.o dds.tab.o lex.ce_expr.o \
Packit a4aae4
#ce_expr.tab.o lex.gse_.o gse.tab.o lex.Error.o Error.tab.o
Packit a4aae4
Packit a4aae4
# Use this to clean the fortify project.
Packit a4aae4
.PHONY: fortifyclean
Packit a4aae4
fortifyclean:
Packit a4aae4
	(cd gl && sourceanalyzer -b @PACKAGE@-gl -clean )
Packit a4aae4
	sourceanalyzer -b @PACKAGE@ -clean
Packit a4aae4
Packit a4aae4
###########################################################################
Packit a4aae4
Packit a4aae4
# Build linux RPMs. Use the environment variable 'RPM_OPTIONS' to pass in
Packit a4aae4
# extra options like --nodeps and --macros
Packit a4aae4
Packit a4aae4
srpm: dist
Packit a4aae4
	rpmbuild -ts --clean $(RPM_OPTIONS) @PACKAGE@-@PACKAGE_VERSION@.tar.gz
Packit a4aae4
Packit a4aae4
rpm: dist
Packit a4aae4
	rpmbuild -tb --clean $(RPM_OPTIONS) @PACKAGE@-@PACKAGE_VERSION@.tar.gz
Packit a4aae4
Packit a4aae4
###########################################################################
Packit a4aae4
Packit a4aae4
# Build OS/X Packages. The strange operations with configure and make
Packit a4aae4
# are there so that the values built into dap-config will match the mac
Packit a4aae4
# osx install dirs and not the temp directory used to build the packages
Packit a4aae4
Packit a4aae4
PACKAGEMAKER=/Developer/usr/bin/packagemaker
Packit a4aae4
PKG_CONF_FLAGS=
Packit a4aae4
Packit a4aae4
clean-pkg:
Packit a4aae4
	-rm -rf mac_osx @PACKAGE@-@PACKAGE_VERSION@.pkg
Packit a4aae4
Packit a4aae4
pkg-build: clean-pkg
Packit a4aae4
	./configure --prefix=$(prefix) --disable-dependency-tracking $(PKG_CONF_FLAGS)
Packit a4aae4
	make clean all
Packit a4aae4
	DESTDIR=`pwd`/mac_osx make install
Packit a4aae4
Packit a4aae4
pkg-main: pkg-build
Packit a4aae4
	./OSX_Resources/update_mac_package_contents.pl README
Packit a4aae4
	cat ./OSX_Resources/Info.plist.proto | \
Packit a4aae4
	   sed -e "s^_PREFIX_^/usr/local/servers/hyrax-1.8.8^g" \
Packit a4aae4
	       -e "s^_FULL_VERSION_^@PACKAGE_VERSION@^g" \
Packit a4aae4
	       -e "s^_MAJOR_VERSION_^@PACKAGE_MAJOR_VERSION@^g" \
Packit a4aae4
	       -e "s^_MINOR_VERSION_^@PACKAGE_MINOR_VERSION@^g" \
Packit a4aae4
	       > foo
Packit a4aae4
	mv foo ./OSX_Resources/Info.plist
Packit a4aae4
	${PACKAGEMAKER} --root mac_osx --id org.opendap.@PACKAGE@ \
Packit a4aae4
	    --title "@PACKAGE@ @PACKAGE_VERSION@" --version @PACKAGE_VERSION@ \
Packit a4aae4
	    --out @PACKAGE@-@PACKAGE_VERSION@.pkg --resources OSX_Resources
Packit a4aae4
Packit a4aae4
# 	   sed -e "s^_PREFIX_^$(prefix)^g" 
Packit a4aae4
Packit a4aae4
pkg-dmg: pkg-main
Packit a4aae4
	-rm -rf @PACKAGE@-@PACKAGE_VERSION@
Packit a4aae4
	-rm -rf @PACKAGE@-@PACKAGE_VERSION@.dmg
Packit a4aae4
	mkdir @PACKAGE@-@PACKAGE_VERSION@
Packit a4aae4
	cp -r @PACKAGE@-@PACKAGE_VERSION@.pkg @PACKAGE@-@PACKAGE_VERSION@
Packit a4aae4
	cp README README.* NEWS @PACKAGE@-@PACKAGE_VERSION@
Packit a4aae4
	dropdmg -i --sanitize-for-servers --format zlib @PACKAGE@-@PACKAGE_VERSION@
Packit a4aae4
	-rm -rf @PACKAGE@-@PACKAGE_VERSION@
Packit a4aae4
Packit a4aae4
pkg: pkg-main 
Packit a4aae4
Packit a4aae4
# Note that the gcov options -f and -b are useful but sometimes make looking
Packit a4aae4
# at the results of coverage analysis a little taxing. -b reports on all
Packit a4aae4
# branched and -f reports on all functions. The -l -o options summarize on a
Packit a4aae4
# per-file basis. 3/27/98 jhrg
Packit a4aae4
collect-coverage-data:
Packit a4aae4
	(cd test-coverage; \
Packit a4aae4
         cov_dat="coverage-data-`date +%m.%d.%y`"; \
Packit a4aae4
         touch $$cov_dat; \
Packit a4aae4
         for f in $(ALLSRCS); do \
Packit a4aae4
            echo "\n*** Coverage data for $$f ***\n" >> $$cov_dat; \
Packit a4aae4
            gcov -l -o ../ $$f >> $$cov_dat; \
Packit a4aae4
         done)
Packit a4aae4
Packit a4aae4
#############################################################################
Packit a4aae4
# Library sources
Packit a4aae4
# 
Packit a4aae4
Packit a4aae4
GNU_SRC = GNU/GetOpt.cc GNU/GNURegex.cc
Packit a4aae4
Packit a4aae4
GNU_HDR = GNU/GetOpt.h GNU/GNURegex.h
Packit a4aae4
Packit a4aae4
BISON_SRC = das.tab.cc das.tab.hh dds.tab.cc	dds.tab.hh \
Packit a4aae4
	ce_expr.tab.cc ce_expr.tab.hh Error.tab.cc Error.tab.hh 
Packit a4aae4
Packit a4aae4
FLEX_SRC = lex.das.cc lex.dds.cc lex.ce_expr.cc lex.Error.cc
Packit a4aae4
Packit a4aae4
DAP_SRC = AttrTable.cc DAS.cc DDS.cc DataDDS.cc DDXParserSAX2.cc	\
Packit a4aae4
	BaseType.cc Byte.cc Int32.cc Float64.cc Str.cc Url.cc		\
Packit a4aae4
	Vector.cc Array.cc Structure.cc Sequence.cc Grid.cc UInt32.cc	\
Packit a4aae4
	Int16.cc UInt16.cc Float32.cc Constructor.cc			\
Packit a4aae4
	BaseTypeFactory.cc SignalHandler.cc Error.cc InternalErr.cc	\
Packit a4aae4
	util.cc xdrutil_ppc.c parser-util.cc escaping.cc		\
Packit a4aae4
	Clause.cc RValue.cc			\
Packit a4aae4
	ConstraintEvaluator.cc DapIndent.cc	\
Packit a4aae4
	Operators.h XDRUtils.cc XDRFileMarshaller.cc			\
Packit a4aae4
	XDRStreamMarshaller.cc XDRFileUnMarshaller.cc			\
Packit a4aae4
	XDRStreamUnMarshaller.cc mime_util.cc Keywords2.cc XMLWriter.cc \
Packit a4aae4
	ServerFunctionsList.cc ServerFunction.cc DapXmlNamespaces.cc \
Packit a4aae4
	MarshallerThread.cc
Packit a4aae4
Packit a4aae4
DAP4_ONLY_SRC = D4StreamMarshaller.cc D4StreamUnMarshaller.cc Int64.cc \
Packit a4aae4
        UInt64.cc Int8.cc D4ParserSax2.cc D4BaseTypeFactory.cc \
Packit a4aae4
        D4Dimensions.cc  D4EnumDefs.cc D4Group.cc DMR.cc \
Packit a4aae4
        D4Attributes.cc D4Enum.cc chunked_ostream.cc chunked_istream.cc \
Packit a4aae4
        D4Sequence.cc D4Maps.cc D4Opaque.cc D4AsyncUtil.cc D4RValue.cc \
Packit a4aae4
        D4FilterClause.cc
Packit a4aae4
Packit a4aae4
Operators.h: ce_expr.tab.hh
Packit a4aae4
Packit a4aae4
# Operators.h is included in with the source to prevent it from bing installed
Packit a4aae4
# with the other headers. It includes one of the built grammar file headers.
Packit a4aae4
Packit a4aae4
CLIENT_SRC = RCReader.cc Connect.cc HTTPConnect.cc HTTPCache.cc	\
Packit a4aae4
	util_mit.cc ResponseTooBigErr.cc HTTPCacheTable.cc
Packit a4aae4
Packit a4aae4
DAP4_CLIENT_SRC = D4Connect.cc
Packit a4aae4
Packit a4aae4
SERVER_SRC = DODSFilter.cc Ancillary.cc
Packit a4aae4
# ResponseBuilder.cc ResponseCache.cc
Packit a4aae4
Packit a4aae4
DAP_HDR = AttrTable.h DAS.h DDS.h DataDDS.h DDXParserSAX2.h		\
Packit a4aae4
	DDXExceptions.h BaseType.h Byte.h Int32.h Float64.h Str.h	\
Packit a4aae4
	Url.h Vector.h Array.h Constructor.h Structure.h Sequence.h	\
Packit a4aae4
	Grid.h UInt32.h Int16.h UInt16.h Float32.h BaseTypeFactory.h	\
Packit a4aae4
	ObjectType.h EncodingType.h SignalHandler.h Error.h		\
Packit a4aae4
	InternalErr.h util.h escaping.h parser.h debug.h dods-limits.h	\
Packit a4aae4
	dods-datatypes.h Type.h		\
Packit a4aae4
	util_mit.h expr.h Clause.h RValue.h ConstraintEvaluator.h	\
Packit a4aae4
	ce_parser.h DapIndent.h DapObj.h XDRFileMarshaller.h		\
Packit a4aae4
	Marshaller.h UnMarshaller.h XDRFileUnMarshaller.h		\
Packit a4aae4
	XDRStreamMarshaller.h XDRUtils.h xdr-datatypes.h mime_util.h	\
Packit a4aae4
	cgi_util.h XDRStreamUnMarshaller.h Keywords2.h XMLWriter.h \
Packit a4aae4
	ServerFunctionsList.h ServerFunction.h media_types.h \
Packit a4aae4
	DapXmlNamespaces.h parser-util.h MarshallerThread.h
Packit a4aae4
Packit a4aae4
DAP4_ONLY_HDR = D4StreamMarshaller.h D4StreamUnMarshaller.h Int64.h \
Packit a4aae4
        UInt64.h Int8.h D4ParserSax2.h D4BaseTypeFactory.h \
Packit a4aae4
        D4Maps.h D4Dimensions.h D4EnumDefs.h D4Group.h DMR.h D4Attributes.h \
Packit a4aae4
        D4AttributeType.h D4Enum.h chunked_stream.h chunked_ostream.h \
Packit a4aae4
        chunked_istream.h D4Sequence.h crc.h D4Opaque.h D4AsyncUtil.h \
Packit a4aae4
        D4Function.h D4RValue.h D4FilterClause.h
Packit a4aae4
Packit a4aae4
if USE_C99_TYPES
Packit a4aae4
dods-datatypes.h: dods-datatypes-static.h
Packit a4aae4
	cp -p $< dods-datatypes.h
Packit a4aae4
else
Packit a4aae4
dods-datatypes.h: dods-datatypes-config.h
Packit a4aae4
	cp -p $< dods-datatypes.h
Packit a4aae4
endif
Packit a4aae4
Packit a4aae4
xdr-datatypes.h: xdr-datatypes-config.h
Packit a4aae4
	cp -p $< xdr-datatypes.h
Packit a4aae4
Packit a4aae4
CLIENT_HDR = RCReader.h Connect.h HTTPConnect.h HTTPCache.h		\
Packit a4aae4
	HTTPCacheDisconnectedMode.h HTTPCacheInterruptHandler.h		\
Packit a4aae4
	Response.h HTTPResponse.h HTTPCacheResponse.h PipeResponse.h	\
Packit a4aae4
	StdinResponse.h SignalHandlerRegisteredErr.h			\
Packit a4aae4
	ResponseTooBigErr.h Resource.h HTTPCacheTable.h HTTPCacheMacros.h
Packit a4aae4
Packit a4aae4
DAP4_CLIENT_HDR = D4Connect.h
Packit a4aae4
Packit a4aae4
SERVER_HDR = DODSFilter.h AlarmHandler.h EventHandler.h Ancillary.h
Packit a4aae4
#	ResponseBuilder.h ResponseCache.h
Packit a4aae4
Packit a4aae4
############################################################################
Packit a4aae4
# Special rules for the grammars. I tried to use the automake grammar support
Packit a4aae4
# but these grammars are so hacked that it was taking too much time. Maybe if
Packit a4aae4
# each grammar was converted one by one... jhrg 6/22/05
Packit a4aae4
# 
Packit a4aae4
# I switched to using flex options instead of sed and mv. jhrg 02/28/08
Packit a4aae4
#
Packit a4aae4
# Build the DAS scanner and parser
Packit a4aae4
Packit a4aae4
# Using this pattern rule is a way to get gnu make to run bison only once.
Packit a4aae4
# The targets that explicitly name the two sources to be built will run it
Packit a4aae4
# twice with a parallel build. jhrg 6/18/15
Packit a4aae4
Packit a4aae4
%.tab.cc %.tab.hh: %.yy
Packit a4aae4
	$(YACC) $(YFLAGS) $<
Packit a4aae4
Packit a4aae4
lex.das.cc: das.lex das.tab.cc das.tab.hh
Packit a4aae4
	$(LEX) $(LFLAGS) $<
Packit a4aae4
Packit a4aae4
#das.tab.cc das.tab.hh: das.yy DAS.h
Packit a4aae4
#	$(YACC) $(YFLAGS) $<
Packit a4aae4
Packit a4aae4
# DDS
Packit a4aae4
Packit a4aae4
lex.dds.cc: dds.lex dds.tab.cc dds.tab.hh
Packit a4aae4
	$(LEX) $(LFLAGS) $<
Packit a4aae4
Packit a4aae4
#dds.tab.cc dds.tab.hh: dds.yy
Packit a4aae4
#	$(YACC) $(YFLAGS) $<
Packit a4aae4
Packit a4aae4
# CE
Packit a4aae4
Packit a4aae4
lex.ce_expr.cc: ce_expr.lex ce_expr.tab.cc ce_expr.tab.hh
Packit a4aae4
	$(LEX) $(LFLAGS) $<
Packit a4aae4
Packit a4aae4
#ce_expr.tab.cc ce_expr.tab.hh: ce_expr.yy
Packit a4aae4
#	$(YACC) $(YFLAGS) $<
Packit a4aae4
Packit a4aae4
# Errors
Packit a4aae4
Packit a4aae4
lex.Error.cc: Error.lex Error.tab.cc Error.tab.hh
Packit a4aae4
	$(LEX) $(LFLAGS) $<
Packit a4aae4
Packit a4aae4
#Error.tab.cc Error.tab.hh: Error.yy
Packit a4aae4
#	$(YACC) $(YFLAGS) $<