]> www.ginac.de Git - ginac.git/blobdiff - ginac/Makefile.am
Bail out if both autogen and autogen'erated file(s) are missing.
[ginac.git] / ginac / Makefile.am
index 2b961fc1ff755fa8c8a74bcb498ed82060bb5277..17b272f230f142d9dba9597b81ea3f19ab2fe719 100644 (file)
@@ -2,26 +2,52 @@
 
 lib_LTLIBRARIES = libginac.la
 libginac_la_SOURCES = add.cpp archive.cpp basic.cpp clifford.cpp color.cpp \
-  constant.cpp ex.cpp expair.cpp expairseq.cpp exprseq.cpp fail.cpp \
-  fderivative.cpp function.cpp idx.cpp indexed.cpp inifcns.cpp \
-  inifcns_trans.cpp inifcns_zeta.cpp inifcns_gamma.cpp lst.cpp matrix.cpp \
-  mul.cpp ncmul.cpp normal.cpp numeric.cpp operators.cpp power.cpp \
-  registrar.cpp relational.cpp remember.cpp pseries.cpp print.cpp structure.cpp \
-  symbol.cpp symmetry.cpp tensor.cpp utils.cpp wildcard.cpp \
-  input_parser.yy input_lexer.ll \
-  input_lexer.h remember.h tostring.h utils.h
-libginac_la_LDFLAGS = -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
-  -release $(LT_RELEASE)
+  constant.cpp ex.cpp excompiler.cpp expair.cpp expairseq.cpp exprseq.cpp \
+  fail.cpp factor.cpp fderivative.cpp function.cpp idx.cpp indexed.cpp inifcns.cpp \
+  inifcns_trans.cpp inifcns_gamma.cpp inifcns_nstdsums.cpp \
+  integral.cpp lst.cpp matrix.cpp mul.cpp ncmul.cpp normal.cpp numeric.cpp \
+  operators.cpp power.cpp registrar.cpp relational.cpp remember.cpp \
+  pseries.cpp print.cpp symbol.cpp symmetry.cpp tensor.cpp \
+  utils.cpp wildcard.cpp input_parser.yy input_lexer.ll \
+  input_lexer.h remember.h tostring.h utils.h compiler.h \
+  parser/parse_binop_rhs.cpp \
+  parser/parser.cpp \
+  parser/parse_context.cpp \
+  parser/builtin_fcns.cpp \
+  parser/lexer.cpp \
+  parser/lexer.hpp \
+  parser/debug.hpp
+  
+libginac_la_LDFLAGS = -version-info $(LT_VERSION_INFO) -release $(LT_RELEASE)
+libginac_la_LIBADD = $(DL_LIBS)
 ginacincludedir = $(includedir)/ginac
-ginacinclude_HEADERS = ginac.h add.h archive.h assertion.h basic.h clifford.h \
-  color.h constant.h container.h ex.h expair.h expairseq.h exprseq.h fail.h \
-  fderivative.h flags.h function.h idx.h indexed.h inifcns.h lst.h matrix.h \
-  mul.h ncmul.h normal.h numeric.h operators.h power.h print.h pseries.h ptr.h \
-  registrar.h relational.h structure.h symbol.h symmetry.h tensor.h tinfos.h \
-  version.h wildcard.h
-LFLAGS = -Pginac_yy -olex.yy.c
-YFLAGS = -p ginac_yy -d
-EXTRA_DIST = function.pl input_parser.h version.h.in
+ginacinclude_HEADERS = ginac.h add.h archive.h assertion.h basic.h class_info.h \
+  clifford.h color.h constant.h container.h ex.h excompiler.h expair.h expairseq.h \
+  exprseq.h fail.h factor.h fderivative.h flags.h function.h hash_map.h idx.h indexed.h \
+  inifcns.h integral.h lst.h matrix.h mul.h ncmul.h normal.h numeric.h operators.h \
+  power.h print.h pseries.h ptr.h registrar.h relational.h structure.h \
+  symbol.h symmetry.h tensor.h version.h wildcard.h \
+  parser/parser.hpp \
+  parser/parse_context.hpp
+
+AM_LFLAGS = -Pginac_yy -olex.yy.c
+AM_YFLAGS = -p ginac_yy -d
+EXTRA_DIST = function.pl input_parser.h version.h.in \
+parser/default_reader.tpl parser/builtin_fcns.def
+
+# Files produced by autogen(1) from templates
+$(srcdir)/parser/builtin_fcns.cpp: $(srcdir)/parser/builtin_fcns.def $(srcdir)/parser/default_reader.tpl
+       set -e; if [ -n "$(AUTOGEN)" ]; then \
+               cd $(srcdir)/parser; \
+               $(AUTOGEN) -T default_reader.tpl builtin_fcns.def; \
+       elif [ -f $@ ]; then \
+               echo "WARNING: AutoGen is not available, the \"$@\" file WON'T be re-generated"; \
+       else \
+               echo "*** ERROR: the \"$@\" file does not exist, and AutoGen is not installed on your system"; \
+               echo "***        Please install AutoGen (http://www.gnu.org/software/autogen)"; \
+               exit 1; \
+       fi
+               
 
 # Files which are generated by perl scripts
 $(srcdir)/function.h $(srcdir)/function.cpp: $(srcdir)/function.pl