1 | ACLOCAL_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 | |
---|
12 | GIT_VERSION := $(shell $(top_srcdir)/git-version-gen $(top_srcdir)/.tarball-git-version) |
---|
13 | |
---|
14 | AM_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 | |
---|
16 | if ENABLE_FACTORY |
---|
17 | USE_FACTORY = -L${top_builddir}/factory |
---|
18 | else |
---|
19 | USE_FACTORY = |
---|
20 | endif |
---|
21 | |
---|
22 | if HAVE_GFANLIB |
---|
23 | USE_GFANLIB = ${top_builddir}/dyn_modules/callgfanlib/gfanlib.la ${abs_top_builddir}/gfanlib/libgfan.la ${CDDGMPLDFLAGS} |
---|
24 | else |
---|
25 | USE_GFANLIB = |
---|
26 | endif |
---|
27 | |
---|
28 | AM_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... ######################### |
---|
31 | if ENABLE_P_PROCS_DYNAMIC |
---|
32 | moduledir = $(libexecdir)/singular/MOD |
---|
33 | else !ENABLE_P_PROCS_DYNAMIC |
---|
34 | moduledir = $(libdir)/singular |
---|
35 | endif !ENABLE_P_PROCS_DYNAMIC |
---|
36 | |
---|
37 | ########################################################################## |
---|
38 | module_LTLIBRARIES = pyobject.la |
---|
39 | |
---|
40 | pyobject_la_SOURCES = pyobject.cc |
---|
41 | |
---|
42 | pyobject_la_CXXFLAGS = $(PYTHON_CSPEC) |
---|
43 | pyobject_la_CPPFLAGS = $(PYTHON_CPPFLAGS) ${AM_CPPFLAGS} |
---|
44 | |
---|
45 | pyobject_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 | ########################################################################## |
---|
49 | if PYTHON_USE |
---|
50 | PY=pyobject.la $(PYTHON_EXTRA_LIBS) $(PYTHON_LSPEC) ${AM_LDFLAGS} $(PYTHON_EXTRA_LDFLAGS) $(PYTHON_LDFLAGS) |
---|
51 | else !PYTHON_USE |
---|
52 | PY= |
---|
53 | endif !PYTHON_USE |
---|
54 | |
---|
55 | if SI_EMBED_PYTHON |
---|
56 | EMBED_PYOBJECT = ${PY} ${top_builddir}/dyn_modules/syzextra/syzextra.la ${USE_GFANLIB} |
---|
57 | else !SI_EMBED_PYTHON |
---|
58 | EMBED_PYOBJECT = |
---|
59 | endif !SI_EMBED_PYTHON |
---|
60 | |
---|
61 | ########################### libSingular* ######################### |
---|
62 | |
---|
63 | libSingular_LTLIBRARIES = libSingular.la |
---|
64 | libSingulardir = $(libdir)/singular |
---|
65 | |
---|
66 | libSingular_la_CPPFLAGS = ${AM_CPPFLAGS} -DLIBSINGULAR |
---|
67 | |
---|
68 | SOURCES = 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 | |
---|
126 | libSingular_la_SOURCES = $(SOURCES) |
---|
127 | |
---|
128 | SingularHEADERS = 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 |
---|
188 | nodist_libSingular_la_SOURCES = feOpt.inc iparith.inc |
---|
189 | |
---|
190 | libSingular_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 | |
---|
194 | libSingular_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 | |
---|
202 | libSingular_includedir = ${includedir}/singular/Singular/ |
---|
203 | nobase_libSingular_include_HEADERS = $(SingularHEADERS) |
---|
204 | |
---|
205 | ######################################################### |
---|
206 | # handle all the generated *.inc |
---|
207 | |
---|
208 | noinst_PROGRAMS = gentable1 feOptGen feOptES feOptTS |
---|
209 | |
---|
210 | gentable1_SOURCES = gentable.cc grammar.h tok.h table.h |
---|
211 | gentable1_CPPFLAGS = ${AM_CPPFLAGS} |
---|
212 | |
---|
213 | feOptGen_SOURCES = feOptGen.cc feOptGen.h |
---|
214 | feOptGen_CPPFLAGS = ${AM_CPPFLAGS} |
---|
215 | |
---|
216 | feOptES_SOURCES = feOptGen.cc feOptGen.h |
---|
217 | feOptES_CPPFLAGS = ${AM_CPPFLAGS} -DESINGULAR |
---|
218 | |
---|
219 | feOptTS_SOURCES = feOptGen.cc feOptGen.h |
---|
220 | feOptTS_CPPFLAGS = ${AM_CPPFLAGS} -DTSINGULAR |
---|
221 | |
---|
222 | ########################### Singular* ######################### |
---|
223 | |
---|
224 | EXTRA_PROGRAMS = libparse Singulard |
---|
225 | |
---|
226 | # the "optional_programs" variable should be defined in the configure |
---|
227 | # script, and listed in an AC_SUBST macro |
---|
228 | optional_Singular_programs = |
---|
229 | |
---|
230 | bin_PROGRAMS = Singular ESingular TSingular $(optional_Singular_programs) |
---|
231 | |
---|
232 | Singular ESingular TSingular $(optional_Singular_programs): ${abs_builddir}/LIB |
---|
233 | |
---|
234 | nodist_Singular_SOURCES = libSingular.la |
---|
235 | |
---|
236 | Singular_SOURCES = tesths.cc mmalloc.cc fegetopt.c fegetopt.h utils.cc utils.h |
---|
237 | |
---|
238 | Singular_LDADD = libSingular.la ${EMBED_PYOBJECT} |
---|
239 | |
---|
240 | Singular_LDFLAGS = -static ${AM_LDFLAGS} ${EMBED_PYOBJECT} |
---|
241 | |
---|
242 | Singulard_SOURCES = tesths.cc mmalloc.cc fegetopt.c fegetopt.h utils.cc utils.h |
---|
243 | nodist_Singulard_SOURCES = libSingular.la |
---|
244 | |
---|
245 | # ${EMBED_PYOBJECT_LDFLAGS} ${EMBED_PYOBJECT_LDFLAGS} |
---|
246 | Singulard_LDADD = libSingular.la ${EMBED_PYOBJECT} |
---|
247 | |
---|
248 | Singulard_LDFLAGS = ${AM_LDFLAGS} ${EMBED_PYOBJECT} |
---|
249 | |
---|
250 | dist_bin_SCRIPTS = singularsurf |
---|
251 | |
---|
252 | #### ESingular |
---|
253 | ESingular_CPPFLAGS = ${AM_CPPFLAGS} -DESINGULAR -DPROTO |
---|
254 | ESingular_LDFLAGS = -static ${AM_LDFLAGS} |
---|
255 | ESingular_LDADD = -lreporter -lmisc -lomalloc -lresources |
---|
256 | |
---|
257 | ESingular_SOURCES = emacs.cc fegetopt.c fegetopt.h feOptES.inc feOpt.cc |
---|
258 | |
---|
259 | #### same for TSingular |
---|
260 | TSingular_CPPFLAGS = ${AM_CPPFLAGS} -DTSINGULAR -DPROTO |
---|
261 | TSingular_LDFLAGS = -static ${AM_LDFLAGS} |
---|
262 | TSingular_LDADD = -lreporter -lmisc -lomalloc -lresources |
---|
263 | |
---|
264 | TSingular_SOURCES = emacs.cc fegetopt.c fegetopt.h feOptTS.inc feOpt.cc |
---|
265 | # utils.cc utils.h |
---|
266 | |
---|
267 | |
---|
268 | #### libparse |
---|
269 | libparse_CPPFLAGS = ${AM_CPPFLAGS} -DSTANDALONE_PARSER |
---|
270 | |
---|
271 | libparse_SOURCES = libparse.cc fegetopt.c fegetopt.h utils.cc utils.h |
---|
272 | |
---|
273 | # # libSingular.la -lnumeric |
---|
274 | libparse_LDADD = -lomalloc |
---|
275 | libparse_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 | |
---|
283 | include ${srcdir}/singular-libs |
---|
284 | |
---|
285 | singularlibrarydir = ${datadir}/singular |
---|
286 | singularlibrary = $(SLIB0:%=LIB/%) $(SLIB1:%=LIB/%) $(PLIBS:%=LIB/%) |
---|
287 | nobase_dist_singularlibrary_DATA = LIB/tst.lib LIB/help.cnf ${singularlibrary} |
---|
288 | EXTRA_DIST = make_alllib.sh LIB/all.lib.tmpl singular-libs \ |
---|
289 | LIB/help.cnf links/slInit_Dynamic.cc |
---|
290 | |
---|
291 | singularalllibrarydir = ${datadir}/singular/LIB |
---|
292 | singularalllibrary = all.lib |
---|
293 | nobase_dist_singularalllibrary_DATA = all.lib |
---|
294 | |
---|
295 | all.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 ######################### |
---|
299 | TESTS_ENVIRONMENT = SINGULARPATH='${top_builddir}/Singular/LIB:${top_srcdir}/Singular/LIB:${top_builddir}/libpolys/polys/.libs:${top_builddir}/factory/gftables' |
---|
300 | TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${top_builddir}' |
---|
301 | |
---|
302 | TESTS=test-s-r test-d-r |
---|
303 | |
---|
304 | check_PROGRAMS=$(TESTS) |
---|
305 | |
---|
306 | # Static versions |
---|
307 | test_s_r_SOURCES = test.cc |
---|
308 | # ${EMBED_PYOBJECT_LDFLAGS} |
---|
309 | test_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 | |
---|
317 | test_s_r_LDFLAGS = -static ${AM_LDFLAGS} |
---|
318 | |
---|
319 | # Dynamic versions |
---|
320 | test_d_r_SOURCES = test.cc |
---|
321 | test_d_r_LDADD = libSingular.la |
---|
322 | |
---|
323 | ######################################################### |
---|
324 | |
---|
325 | # These files are built first |
---|
326 | BUILT_SOURCES = feOpt.inc feOptTS.inc feOptES.inc iparith.inc all.lib plural_cmd.inc \ |
---|
327 | gftables MOD |
---|
328 | |
---|
329 | CLEANFILES = $(BUILT_SOURCES) $(EXTRA_PROGRAMS) |
---|
330 | |
---|
331 | clean-local: |
---|
332 | if [ "${abs_builddir}" != "${abs_srcdir}" ]; then \ |
---|
333 | if [ -L ${abs_builddir}/LIB ]; then unlink ${abs_builddir}/LIB; fi \ |
---|
334 | fi |
---|
335 | |
---|
336 | feOpt.inc: feOptGen$(EXEEXT) |
---|
337 | ${builddir}/feOptGen$(EXEEXT) |
---|
338 | |
---|
339 | feOptES.inc: feOptES$(EXEEXT) |
---|
340 | ${builddir}/feOptES$(EXEEXT) |
---|
341 | |
---|
342 | feOptTS.inc: feOptTS$(EXEEXT) |
---|
343 | ${builddir}/feOptTS$(EXEEXT) |
---|
344 | |
---|
345 | plural_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 | |
---|
351 | gftables: ${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 | |
---|
359 | MOD: ${top_builddir}/libpolys/polys/.libs |
---|
360 | ln -snf ${top_builddir}/libpolys/polys/.libs/ ${builddir}/MOD |
---|
361 | |
---|