source: git/Singular/Makefile.am @ 7222f9

spielwiese
Last change on this file since 7222f9 was 2b31ed, checked in by Hans Schoenemann <hannes@…>, 10 years ago
chg: add Singular/singularsurf to dist files
  • Property mode set to 100644
File size: 10.2 KB
Line 
1ACLOCAL_AMFLAGS = -I ../m4
2
3#LD_DYN_FLAGS   = -ldl -rdynamic
4#LD_LIBC                = -lc
5#SFLAGS         = -fpic -DPIC
6#SLDFLAGS       = -shared
7#STATIC_LDFLAGS = -static
8
9# WARNCFLAGS = -Wunused-parameter
10# clang has also: -Wunneeded-internal-declaration
11
12GIT_VERSION := $(shell $(top_srcdir)/git-version-gen $(top_srcdir)/.tarball-git-version)
13
14AM_CPPFLAGS = -I${top_srcdir} -I${top_builddir} -I${top_srcdir}/numeric -I${top_builddir}/numeric -I${top_srcdir}/kernel -I${top_builddir}/kernel -I${top_srcdir}/libpolys -I${top_builddir}/libpolys $(GMP_CFLAGS) -I${top_srcdir}/factory/include -I${top_builddir}/factory/include $(FACTORY_CFLAGS) $(NTL_CFLAGS) $(FLINT_CFLAGS) -DHAVE_CONFIG_H  -DGIT_VERSION='"$(GIT_VERSION)"'
15
16if ENABLE_FACTORY
17  USE_FACTORY = -L${top_builddir}/factory
18else
19  USE_FACTORY =
20endif
21
22if HAVE_GFANLIB
23  USE_GFANLIB = ${top_builddir}/dyn_modules/callgfanlib/gfanlib.la ${abs_top_builddir}/gfanlib/libgfan.la ${CDDGMPLDFLAGS}
24else
25  USE_GFANLIB =
26endif
27
28AM_LDFLAGS = -L${top_builddir}/Singular -L${top_builddir}/numeric -L${top_builddir}/kernel -L${top_builddir}/libpolys/polys  -L${top_builddir}/libpolys/coeffs -L${top_builddir}/libpolys/reporter -L${top_builddir}/libpolys/misc $(USE_FACTORY) -L${top_builddir}/omalloc -L${top_builddir}/resources
29
30########################### Dynamic Modules... #########################
31if ENABLE_P_PROCS_DYNAMIC
32  moduledir = $(libexecdir)/singular/MOD
33else !ENABLE_P_PROCS_DYNAMIC
34  moduledir = $(libdir)/singular
35endif !ENABLE_P_PROCS_DYNAMIC
36
37##########################################################################
38module_LTLIBRARIES = pyobject.la
39
40pyobject_la_SOURCES = pyobject.cc
41
42pyobject_la_CXXFLAGS = $(PYTHON_CSPEC)
43pyobject_la_CPPFLAGS = $(PYTHON_CPPFLAGS)  ${AM_CPPFLAGS}
44
45pyobject_la_LDFLAGS = $(PYTHON_EXTRA_LIBS)  $(PYTHON_LSPEC) ${AM_LDFLAGS} $(PYTHON_EXTRA_LDFLAGS) $(PYTHON_LDFLAGS) -module -export-dynamic -avoid-version -flat_namespace -weak_reference_mismatches weak -undefined dynamic_lookup
46###  -export-dynamic -shared -module -avoid-version (add to all DMs?)
47
48##########################################################################
49if PYTHON_USE
50  PY=pyobject.la  $(PYTHON_EXTRA_LIBS)  $(PYTHON_LSPEC) ${AM_LDFLAGS} $(PYTHON_EXTRA_LDFLAGS) $(PYTHON_LDFLAGS)
51else !PYTHON_USE
52  PY=
53endif !PYTHON_USE
54
55if SI_EMBED_PYTHON
56 EMBED_PYOBJECT   = ${PY} ${top_builddir}/dyn_modules/syzextra/syzextra.la ${USE_GFANLIB}
57else !SI_EMBED_PYTHON
58  EMBED_PYOBJECT =
59endif !SI_EMBED_PYTHON
60
61########################### libSingular* #########################
62
63libSingular_LTLIBRARIES = libSingular.la
64libSingulardir = $(libdir)/singular
65
66libSingular_la_CPPFLAGS = ${AM_CPPFLAGS} -DLIBSINGULAR
67
68SOURCES =    Minor.cc\
69   MinorInterface.cc\
70   MinorProcessor.cc\
71   links/asciiLink.cc\
72   attrib.cc\
73   blackbox.cc\
74   calcSVD.cc\
75   cntrlc.cc\
76   countedref.cc\
77   denom_list.cc\
78   eigenval_ip.cc\
79   extra.cc\
80   feOpt.cc\
81   fehelp.cc\
82   fevoices.cc\
83   fglm.cc\
84   gms.cc\
85   grammar.cc\
86   interpolation.cc\
87   iparith.cc\
88   ipassign.cc\
89   ipconv.cc\
90   ipid.cc\
91   iplib.cc\
92   ipprint.cc\
93   ipshell.cc\
94   janet.cc\
95   libparse.cc\
96   linearAlgebra_ip.cc\
97   lists.cc\
98   maps_ip.cc\
99   minpoly.cc\
100   misc_ip.cc\
101   mod_lib.cc\
102   links/ndbm.cc\
103   newstruct.cc\
104   pcv.cc\
105   links/pipeLink.cc\
106   scanner.cc\
107   sdb.cc\
108   links/s_buff.cc\
109   links/silink.cc\
110   links/sing_dbm.cc\
111   sing_win.cc\
112   links/slInit_Static.cc\
113   links/ssiLink.cc\
114   links/semaphore.c\
115   subexpr.cc\
116   pyobject_setup.cc\
117   singmathic.cc\
118   walk.cc\
119   walk_ip.cc\
120   wrapper.cc\
121   fereadl.c mmstd.c claptmpl.cc\
122   rlimit.c
123
124#   links/slInit_Dynamic.cc
125
126libSingular_la_SOURCES   = $(SOURCES)
127
128SingularHEADERS =    Cache.h \
129   CacheImplementation.h \
130   Minor.h \
131   MinorInterface.h \
132   MinorProcessor.h \
133   attrib.h \
134   blackbox.h \
135   cntrlc.h \
136   countedref.h \
137   links/dbm_sl.h \
138   distrib.h \
139   eigenval_ip.h \
140   feOpt.h feOptTab.h fehelp.h \
141   fglm.h \
142   gms.h \
143   grammar.h \
144   interpolation.h \
145   idrec.h \
146   ipconv.h \
147   ipid.h \
148   ipprint.h \
149   ipshell.h \
150   janet.h \
151   libparse.h \
152   libsingular.h \
153   linearAlgebra_ip.h\
154   lists.h \
155   locals.h \
156   maps_ip.h \
157   minpoly.h \
158   misc_ip.h \
159   mmalloc.h \
160   mod_lib.h \
161   omSingularConfig.h \
162   links/ndbm.h \
163   newstruct.h \
164   pcv.h \
165   links/pipeLink.h \
166   pyobject_setup.h \
167   run.h \
168   sdb.h \
169   links/silink.h \
170   links/s_buff.h \
171   links/sing_dbm.h \
172   sing_win.h \
173   links/slInit.h \
174   links/ssiLink.h \
175   links/simpleipc.h \
176   si_signals.h \
177   stype.h \
178   subexpr.h \
179   table.h \
180   tok.h \
181   walk.h \
182   rlimit.h
183
184
185# -DMAKE_DISTRIBUTION
186
187# plural_cmd.inc
188nodist_libSingular_la_SOURCES = feOpt.inc iparith.inc
189
190libSingular_la_LDFLAGS    = ${AM_LDFLAGS} ${EMBED_PYOBJECT} \
191-lnumeric -lkernel -lpolys -lcoeffs -lreporter -lmisc \
192$(FACTORY_LIBS) -lomalloc -lresources $(FLINT_LIBS) $(NTL_LIBS) $(GMP_LIBS) ${USEPPROCSDYNAMICLDFLAGS} ${USEPPROCSDYNAMICLD}
193
194libSingular_la_LIBADD      = ${EMBED_PYOBJECT} \
195-lnumeric -lkernel -lpolys -lcoeffs -lreporter -lmisc \
196$(FACTORY_LIBS) -lomalloc -lresources $(FLINT_LIBS) $(NTL_LIBS) $(GMP_LIBS) ${USEPPROCSDYNAMICLDFLAGS} ${USEPPROCSDYNAMICLD}
197
198# ${top_builddir}/numeric/libnumeric.la ${top_builddir}/kernel/libkernel.la ${top_builddir}/libpolys/polys/libpolys.la
199
200
201
202libSingular_includedir = ${includedir}/singular/Singular/
203nobase_libSingular_include_HEADERS = $(SingularHEADERS)
204
205#########################################################
206# handle all the generated *.inc
207
208noinst_PROGRAMS = gentable1 feOptGen feOptES feOptTS
209
210gentable1_SOURCES = gentable.cc grammar.h tok.h table.h
211gentable1_CPPFLAGS = ${AM_CPPFLAGS}
212
213feOptGen_SOURCES = feOptGen.cc feOptGen.h
214feOptGen_CPPFLAGS = ${AM_CPPFLAGS}
215
216feOptES_SOURCES = feOptGen.cc feOptGen.h
217feOptES_CPPFLAGS = ${AM_CPPFLAGS} -DESINGULAR
218
219feOptTS_SOURCES = feOptGen.cc feOptGen.h
220feOptTS_CPPFLAGS = ${AM_CPPFLAGS} -DTSINGULAR
221
222########################### Singular* #########################
223
224EXTRA_PROGRAMS =  libparse Singulard
225
226# the "optional_programs" variable should be defined in the configure
227# script, and listed in an AC_SUBST macro
228optional_Singular_programs =
229
230bin_PROGRAMS = Singular ESingular TSingular $(optional_Singular_programs)
231
232Singular ESingular TSingular $(optional_Singular_programs): ${abs_builddir}/LIB
233
234nodist_Singular_SOURCES = libSingular.la
235
236Singular_SOURCES = tesths.cc mmalloc.cc fegetopt.c fegetopt.h utils.cc  utils.h
237
238Singular_LDADD = libSingular.la ${EMBED_PYOBJECT}
239
240Singular_LDFLAGS = -static ${AM_LDFLAGS} ${EMBED_PYOBJECT}
241
242Singulard_SOURCES = tesths.cc mmalloc.cc fegetopt.c fegetopt.h utils.cc  utils.h
243nodist_Singulard_SOURCES = libSingular.la
244
245#  ${EMBED_PYOBJECT_LDFLAGS}  ${EMBED_PYOBJECT_LDFLAGS}
246Singulard_LDADD = libSingular.la ${EMBED_PYOBJECT}
247
248Singulard_LDFLAGS = ${AM_LDFLAGS} ${EMBED_PYOBJECT}
249
250dist_bin_SCRIPTS = singularsurf
251
252#### ESingular
253ESingular_CPPFLAGS = ${AM_CPPFLAGS} -DESINGULAR -DPROTO
254ESingular_LDFLAGS = -static ${AM_LDFLAGS}
255ESingular_LDADD =   -lreporter -lmisc -lomalloc -lresources
256
257ESingular_SOURCES = emacs.cc fegetopt.c fegetopt.h feOptES.inc feOpt.cc
258
259#### same for TSingular
260TSingular_CPPFLAGS = ${AM_CPPFLAGS} -DTSINGULAR -DPROTO
261TSingular_LDFLAGS = -static ${AM_LDFLAGS}
262TSingular_LDADD =   -lreporter -lmisc -lomalloc -lresources
263
264TSingular_SOURCES = emacs.cc fegetopt.c fegetopt.h feOptTS.inc feOpt.cc
265# utils.cc utils.h
266
267
268#### libparse
269libparse_CPPFLAGS = ${AM_CPPFLAGS} -DSTANDALONE_PARSER
270
271libparse_SOURCES = libparse.cc fegetopt.c fegetopt.h utils.cc  utils.h
272
273# # libSingular.la -lnumeric
274libparse_LDADD = -lomalloc
275libparse_LDFLAGS = -static ${AM_LDFLAGS}
276# TODO for libparse: DONE by Hans???
277# multiple definition of `category_out': libparse.cc v.s. utils.cc
278# undefined reference to `iiInitSingularProcinfo(procinfo*, char const*, char const*, int, long, int)'
279
280#########################################################
281# the Singular library (*.lib files)
282
283include ${srcdir}/singular-libs
284
285singularlibrarydir = ${datadir}/singular
286singularlibrary = $(SLIB0:%=LIB/%) $(SLIB1:%=LIB/%) $(PLIBS:%=LIB/%)
287nobase_dist_singularlibrary_DATA = LIB/tst.lib LIB/help.cnf ${singularlibrary}
288EXTRA_DIST = make_alllib.sh LIB/all.lib.tmpl singular-libs \
289             LIB/help.cnf links/slInit_Dynamic.cc
290
291singularalllibrarydir = ${datadir}/singular/LIB
292singularalllibrary = all.lib
293nobase_dist_singularalllibrary_DATA = all.lib
294
295all.lib: ${srcdir}/make_alllib.sh ${srcdir}/LIB/all.lib.tmpl ${singularlibrary}
296        ${srcdir}/make_alllib.sh ${srcdir}/LIB/all.lib.tmpl ${SLIB0} ${PLIBS}
297
298########################### TEST #########################
299TESTS_ENVIRONMENT = SINGULARPATH='${top_builddir}/Singular/LIB:${top_srcdir}/Singular/LIB:${top_builddir}/libpolys/polys/.libs:${top_builddir}/factory/gftables'
300TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${top_builddir}'
301
302TESTS=test-s-r test-d-r
303
304check_PROGRAMS=$(TESTS)
305
306# Static versions
307test_s_r_SOURCES = test.cc
308# ${EMBED_PYOBJECT_LDFLAGS}
309test_s_r_LDADD = libSingular.la
310
311#-lnumeric -lkernel -lpolys -lcoeffs -lreporter -lmisc \
312# $(FACTORY_LIBS) -lomalloc -lresources $(FLINT_LIBS) \
313# $(NTL_LIBS) $(GMP_LIBS) ${USEPPROCSDYNAMICLDFLAGS} ${USEPPROCSDYNAMICLD} \
314#${EMBED_PYOBJECT}
315#${EMBED_PYOBJECT_LDFLAGS}
316
317test_s_r_LDFLAGS = -static ${AM_LDFLAGS}
318
319# Dynamic versions
320test_d_r_SOURCES = test.cc
321test_d_r_LDADD = libSingular.la
322
323#########################################################
324
325# These files are built first
326BUILT_SOURCES = feOpt.inc feOptTS.inc feOptES.inc iparith.inc all.lib plural_cmd.inc \
327                gftables MOD
328
329CLEANFILES = $(BUILT_SOURCES) $(EXTRA_PROGRAMS)
330
331clean-local:
332        if [ "${abs_builddir}" != "${abs_srcdir}" ]; then \
333          if [ -L ${abs_builddir}/LIB ]; then unlink ${abs_builddir}/LIB; fi \
334        fi
335
336feOpt.inc: feOptGen$(EXEEXT)
337        ${builddir}/feOptGen$(EXEEXT)
338
339feOptES.inc: feOptES$(EXEEXT)
340        ${builddir}/feOptES$(EXEEXT)
341
342feOptTS.inc: feOptTS$(EXEEXT)
343        ${builddir}/feOptTS$(EXEEXT)
344
345plural_cmd.inc iparith.inc: gentable1$(EXEEXT)
346        ${builddir}/gentable1$(EXEEXT)
347
348# # fake rule to fix parallel make http://www.gnu.org/s/hello/manual/automake/Multiple-Outputs.html
349# plural_cmd.inc: iparith.inc
350
351gftables: ${top_srcdir}/factory/gftables
352        ln -snf ${top_srcdir}/factory/gftables ${builddir}/gftables
353
354${abs_builddir}/LIB: ${srcdir}/LIB
355        if [ "${abs_builddir}" != "${abs_srcdir}" ]; then \
356          ln -snf ${abs_srcdir}/LIB ${abs_builddir}/; \
357        fi
358
359MOD: ${top_builddir}/libpolys/polys/.libs
360        ln -snf ${top_builddir}/libpolys/polys/.libs/ ${builddir}/MOD
361
Note: See TracBrowser for help on using the repository browser.