source: git/Singular/Makefile.am @ 772990

spielwiese
Last change on this file since 772990 was 772990, checked in by Oleksandr Motsak <motsak@…>, 12 years ago
fix the package install FIX: install all needed headers (e.g. for linking dynamic modules), FIX: kernel/mod2.h is public and must be installed (among others) CHG: don't install Singular/version.h
  • Property mode set to 100644
File size: 12.6 KB
Line 
1# PIPE = -pipe
2# ???
3#LD_DYN_FLAGS   = -ldl -rdynamic
4#SFLAGS         = -fpic -DPIC
5#SLDFLAGS       = -shared
6#LD_LIBC                = -lc
7#STATIC_LDFLAGS = -static
8
9
10NODEBUGCFLAGS   = -O3 -w -fomit-frame-pointer
11NODEBUGCXXFLAGS = -O3 -w -fomit-frame-pointer
12NODEBUGDEFS = -DNDEBUG -DOM_NDEBUG
13
14CXXTEMPLFLAGS = ## -fno-implicit-templates
15
16AM_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)
17
18########################### libSingular* #########################
19
20libSingular_LTLIBRARIES = libSingular.la libSingular_g.la
21libSingulardir = $(libdir)/singular
22
23libSingular_la_CFLAGS   = -O3 -fomit-frame-pointer -Wextra -Wall -Wno-long-long ${PIPE}
24libSingular_g_la_CFLAGS = -g -Wextra -Wall -Wno-long-long -pedantic ${PIPE}
25
26libSingular_la_CXXFLAGS   = -O3 -fomit-frame-pointer -Wextra -Wall -Wno-long-long ${PIPE} $(CXXTEMPLFLAGS)
27libSingular_g_la_CXXFLAGS = -g -Wextra -Wall -Wno-long-long -pedantic ${PIPE} $(CXXTEMPLFLAGS)
28# -fdiagnostics-show-option
29
30
31libSingular_la_CPPFLAGS   = ${AM_CPPFLAGS} -DHAVE_CONFIG_H -DNDEBUG -DOM_NDEBUG -DLIBSINGULAR
32libSingular_g_la_CPPFLAGS = ${AM_CPPFLAGS} -DHAVE_CONFIG_H -DLIBSINGULAR
33
34SOURCES =    Minor.cc\
35   MinorInterface.cc\
36   MinorProcessor.cc\
37   attrib.cc\
38   bbcone.cc\
39   bbfan.cc\
40   bigintm.cc\
41   blackbox.cc\
42   calcSVD.cc\
43   cntrlc.cc\
44   denom_list.cc\
45   eigenval_ip.cc\
46   extra.cc\
47   feOpt.cc\
48   fehelp.cc\
49   fevoices.cc\
50   fglm.cc\
51   gms.cc\
52   grammar.cc\
53   interpolation.cc\
54   iparith.cc\
55   ipassign.cc\
56   ipconv.cc\
57   ipid.cc\
58   iplib.cc\
59   ipprint.cc\
60   ipshell.cc\
61   janet.cc\
62   libparse.cc\
63   linearAlgebra_ip.cc\
64   lists.cc\
65   maps_ip.cc\
66   minpoly.cc\
67   misc_ip.cc\
68   mpsr_Error.cc\
69   mpsr_Get.cc\
70   mpsr_GetMisc.cc\
71   mpsr_GetPoly.cc\
72   mpsr_Put.cc\
73   mpsr_PutPoly.cc\
74   mpsr_Timer.cc\
75   mpsr_Tok.cc\
76   mpsr_sl.cc\
77   ndbm.cc\
78   newstruct.cc\
79   pcv.cc\
80   pipeLink.cc\
81   scanner.cc\
82   sdb.cc\
83   silink.cc\
84   sing_dbm.cc\
85   sing_win.cc\
86   slInit_Static.cc\
87   ssiLink.cc\
88   subexpr.cc\
89   walk.cc\
90   walk_ip.cc\
91   wrapper.cc\
92   fereadl.c mmstd.c claptmpl.cc
93
94#   slInit_Dynamic.cc
95
96libSingular_la_SOURCES   = $(SOURCES) feOpt.inc
97libSingular_g_la_SOURCES = $(SOURCES) feOpt.inc
98
99SingularHEADERS =    Cache.h \
100   CacheImplementation.h \
101   Minor.h \
102   MinorInterface.h \
103   MinorProcessor.h \
104   attrib.h \
105   bigintm.h \
106   blackbox.h \
107   cntrlc.h \
108   dbm_sl.h \
109   distrib.h \
110   eigenval_ip.h \
111   feOpt.h feOptTab.h fehelp.h \
112   fglm.h \
113   gms.h \
114   grammar.h \
115   interpolation.h \
116   idrec.h \
117   ipconv.h \
118   ipid.h \
119   ipprint.h \
120   ipshell.h \
121   janet.h \
122   libparse.h \
123   libsingular.h \
124   linearAlgebra_ip.h\
125   lists.h \
126   locals.h \
127   maps_ip.h \
128   minpoly.h \
129   misc_ip.h \
130   mmalloc.h \
131   omSingularConfig.h \
132   mpsr.h \
133   mpsr_Get.h \
134   mpsr_Put.h \
135   mpsr_Timer.h \
136   mpsr_Tok.h \
137   mpsr_sl.h \
138   ndbm.h \
139   newstruct.h \
140   pcv.h \
141   pipeLink.h \
142   pyobject_setup.h \
143   run.h \
144   sdb.h \
145   silink.h \
146   sing_dbm.h \
147   sing_win.h \
148   slInit.h \
149   ssiLink.h \
150   static.h \
151   stype.h \
152   subexpr.h \
153   table.h \
154   tok.h \
155   walk.h
156
157
158nodist_libSingular_la_SOURCES = mpsr_Tok.inc iparith.inc plural_cmd.inc
159nodist_libSingular_g_la_SOURCES = mpsr_Tok.inc iparith.inc plural_cmd.inc
160
161noinst_HEADERS = version.h
162
163
164libSingular_includedir = ${includedir}/singular/Singular/
165nobase_libSingular_include_HEADERS = $(SingularHEADERS)
166
167if ENABLE_FACTORY
168  USE_FACTORY = -L${top_builddir}/factory
169else
170  USE_FACTORY =
171endif
172
173#########################################################
174# handle all the generated *.inc
175
176AM_LDFLAGS = -L${abs_top_builddir}/Singular -L${abs_top_builddir}/numeric -L${abs_top_builddir}/kernel -L${abs_top_builddir}/libpolys/polys  $(USE_FACTORY) -L${abs_top_builddir}/omalloc -L${abs_top_builddir}/findexec
177
178noinst_PROGRAMS = gentable2 gentable1 feOptGen feOptES feOptTS
179
180gentable2_SOURCES = gentable2.cc grammar.h tok.h table.h
181gentable2_CFLAGS = -O3 -fomit-frame-pointer ${PIPE}
182gentable2_CXXFLAGS = -O3 -fomit-frame-pointer -Wextra -Wall -Wno-long-long ${PIPE} $(CXXTEMPLFLAGS)
183gentable2_CPPFLAGS = ${AM_CPPFLAGS} -DHAVE_CONFIG_H -DNDEBUG -DOM_NDEBUG
184
185
186gentable1_SOURCES = gentable.cc grammar.h tok.h table.h
187gentable1_CFLAGS = -O3 -fomit-frame-pointer ${PIPE}
188gentable1_CXXFLAGS = -O3 -fomit-frame-pointer -Wextra -Wall -Wno-long-long ${PIPE} $(CXXTEMPLFLAGS)
189gentable1_CPPFLAGS = ${AM_CPPFLAGS} -DHAVE_CONFIG_H -DNDEBUG -DOM_NDEBUG
190
191feOptGen_SOURCES = feOptGen.cc feOptGen.h
192feOptGen_CXXFLAGS = -O3 -fomit-frame-pointer -Wextra -Wall -Wno-long-long ${PIPE} $(CXXTEMPLFLAGS)
193feOptGen_CPPFLAGS = ${AM_CPPFLAGS} -DHAVE_CONFIG_H -DNDEBUG -DOM_NDEBUG
194
195feOptES_SOURCES = feOptGen.cc feOptGen.h
196feOptES_CXXFLAGS = -O3 -fomit-frame-pointer -Wextra -Wall -Wno-long-long ${PIPE} $(CXXTEMPLFLAGS)
197feOptES_CPPFLAGS = ${AM_CPPFLAGS} -DHAVE_CONFIG_H -DNDEBUG -DOM_NDEBUG -DESINGULAR
198
199feOptTS_SOURCES = feOptGen.cc feOptGen.h
200feOptTS_CXXFLAGS = -O3 -fomit-frame-pointer -Wextra -Wall -Wno-long-long ${PIPE} $(CXXTEMPLFLAGS)
201feOptTS_CPPFLAGS = ${AM_CPPFLAGS} -DHAVE_CONFIG_H -DNDEBUG -DOM_NDEBUG -DTSINGULAR
202
203########################### Singular* #########################
204
205EXTRA_PROGRAMS = Singulard Singulardg libparse
206
207# the "optional_programs" variable should be defined in the configure
208# script, and listed in an AC_SUBST macro
209optional_Singular_programs =
210
211bin_PROGRAMS = Singular Singularg ESingular TSingular $(optional_Singular_programs)
212
213Singular_CFLAGS = -O3 -fomit-frame-pointer ${PIPE}
214Singularg_CFLAGS = -g ${PIPE}
215
216Singular_CXXFLAGS = -O3 -fomit-frame-pointer -Wextra -Wall -Wno-long-long ${PIPE} $(CXXTEMPLFLAGS)
217Singularg_CXXFLAGS = -g -Wextra -Wall -Wno-long-long -pedantic ${PIPE} $(CXXTEMPLFLAGS)
218
219nodist_Singular_SOURCES = libSingular.la
220nodist_Singularg_SOURCES =  libSingular_g.la
221
222Singular_SOURCES = tesths.cc fegetopt.c fegetopt.h utils.cc  utils.h
223Singularg_SOURCES = tesths.cc fegetopt.c fegetopt.h utils.cc  utils.h
224
225Singular_LDADD = libSingular.la -lnumeric -lkernel -lpolys $(FACTORY_LIBS) -lomalloc -lfindexec $(NTL_LIBS) $(GMP_LIBS) ${USEPPROCSDYNAMICLDFLAGS} ${USEPPROCSDYNAMICLD}
226Singularg_LDADD = libSingular_g.la -lnumeric_g -lkernel_g -lpolys_g $(FACTORY_LIBS) -lomalloc_g -lfindexec_g $(NTL_LIBS) $(GMP_LIBS) ${USEPPROCSDYNAMICLDFLAGS}  ${USEPPROCSDYNAMICLD}
227
228Singular_CPPFLAGS = ${AM_CPPFLAGS} -DHAVE_CONFIG_H -DNDEBUG -DOM_NDEBUG
229Singularg_CPPFLAGS = ${AM_CPPFLAGS} -DHAVE_CONFIG_H
230
231Singular_LDFLAGS = -static
232Singularg_LDFLAGS = -static
233
234
235Singulard_CFLAGS = -O3 -fomit-frame-pointer ${PIPE}
236Singulardg_CFLAGS = -g ${PIPE}
237
238Singulard_CXXFLAGS = -O3 -fomit-frame-pointer -Wextra -Wall -Wno-long-long ${PIPE} $(CXXTEMPLFLAGS)
239Singulardg_CXXFLAGS = -g -Wextra -Wall -Wno-long-long -pedantic ${PIPE} $(CXXTEMPLFLAGS)
240
241Singulard_SOURCES = tesths.cc fegetopt.c fegetopt.h utils.cc  utils.h
242nodist_Singulard_SOURCES = libSingular.la
243
244Singulardg_SOURCES = tesths.cc fegetopt.c fegetopt.h utils.cc  utils.h
245nodist_Singulardg_SOURCES =  libSingular_g.la
246
247Singulard_LDADD = libSingular.la -lnumeric -lkernel -lpolys $(FACTORY_LIBS) -lomalloc -lfindexec $(NTL_LIBS) $(GMP_LIBS) ${USEPPROCSDYNAMICLDFLAGS} ${USEPPROCSDYNAMICLD}
248Singulardg_LDADD = libSingular_g.la -lnumeric_g -lkernel_g -lpolys_g $(FACTORY_LIBS) -lomalloc_g -lfindexec_g $(NTL_LIBS) $(GMP_LIBS) ${USEPPROCSDYNAMICLDFLAGS}  ${USEPPROCSDYNAMICLD}
249
250Singulard_CPPFLAGS = ${AM_CPPFLAGS} -DHAVE_CONFIG_H -DNDEBUG -DOM_NDEBUG
251Singulardg_CPPFLAGS = ${AM_CPPFLAGS} -DHAVE_CONFIG_H
252
253
254#### ESingular
255
256ESingular_CFLAGS = -O3 -fomit-frame-pointer ${PIPE}
257ESingular_CXXFLAGS = -O3 -fomit-frame-pointer -Wextra -Wall -Wno-long-long ${PIPE} $(CXXTEMPLFLAGS)
258ESingular_CPPFLAGS = ${AM_CPPFLAGS} -DHAVE_CONFIG_H -DNDEBUG -DOM_NDEBUG -DESINGULAR -DPROTO
259ESingular_LDFLAGS = -static ${AM_LDFLAGS} -L${abs_top_builddir}/libpolys/resources -L${abs_top_builddir}/libpolys/reporter -L${abs_top_builddir}/libpolys/misc
260ESingular_LDADD =  -lresources -lreporter -lmisc -lomalloc -lfindexec
261
262ESingular_SOURCES = emacs.cc fegetopt.c fegetopt.h feOptES.inc feOpt.cc
263
264#### same for TSingular
265
266TSingular_CFLAGS = -O3 -fomit-frame-pointer ${PIPE}
267TSingular_CXXFLAGS = -O3 -fomit-frame-pointer -Wextra -Wall -Wno-long-long ${PIPE} $(CXXTEMPLFLAGS)
268TSingular_CPPFLAGS = ${AM_CPPFLAGS} -DHAVE_CONFIG_H -DNDEBUG -DOM_NDEBUG -DTSINGULAR -DPROTO
269TSingular_LDFLAGS = -static ${AM_LDFLAGS} -L${abs_top_builddir}/libpolys/resources -L${abs_top_builddir}/libpolys/reporter -L${abs_top_builddir}/libpolys/misc
270TSingular_LDADD =  -lresources -lreporter -lmisc -lomalloc -lfindexec
271
272TSingular_SOURCES = emacs.cc fegetopt.c fegetopt.h feOptTS.inc feOpt.cc
273# utils.cc utils.h
274
275
276#### libparse
277libparse_CPPFLAGS = ${AM_CPPFLAGS} -DHAVE_CONFIG_H -DNDEBUG -DOM_NDEBUG -DSTANDALONE_PARSER
278libparse_CFLAGS = -O3 -fomit-frame-pointer ${PIPE}
279libparse_CXXFLAGS = -O3 -fomit-frame-pointer -Wextra -Wall -Wno-long-long ${PIPE} $(CXXTEMPLFLAGS)
280 
281libparse_SOURCES = libparse.cc fegetopt.c fegetopt.h utils.cc  utils.h
282# nodist_libparse_SOURCES = libSingular.la
283 
284# # libSingular.la -lnumeric
285libparse_LDADD = -lomalloc
286libparse_LDFLAGS = -static ${AM_LDFLAGS}
287# TODO for libparse:
288# multiple definition of `category_out': libparse.cc v.s. utils.cc
289# undefined reference to `iiInitSingularProcinfo(procinfo*, char const*, char const*, int, long, int)'
290
291#########################################################
292# the Singular library (*.lib files)
293
294include ${srcdir}/singular-libs
295
296singularlibrarydir = ${datadir}/singular
297singularlibrary = $(SLIB0:%=LIB/%) $(SLIB1:%=LIB/%) $(PLIBS:%=LIB/%)
298nobase_dist_singularlibrary_DATA = LIB/all.lib LIB/tst.lib LIB/help.cnf ${singularlibrary}
299EXTRA_DIST = make_alllib.sh LIB/all.lib.tmpl singular-libs LIB/help.cnf
300
301# ${nobase_dist_singularlibrary_DATA}
302
303LIB/all.lib: ${srcdir}/make_alllib.sh ${srcdir}/LIB/all.lib.tmpl ${singularlibrary}
304        $(MKDIR_P) LIB
305        ${srcdir}/make_alllib.sh ${srcdir}/LIB/all.lib.tmpl ${SLIB0} ${PLIBS}
306
307# [ -d ${builddir}/LIB ] || ( $(MKDIR_P) LIB ; cp ${srcdir}/LIB/*.lib ${builddir}/LIB/ )
308
309########################### TEST #########################
310
311TESTS_ENVIRONMENT = SINGULARPATH='${abs_top_builddir}/Singular/LIB:${abs_top_srcdir}/Singular/LIB:${abs_top_builddir}/libpolys/polys/.libs:${abs_top_builddir}/factory/gftables'
312TESTS_ENVIRONMENT += SINGULAR_ROOT_DIR='${abs_top_builddir}'
313
314TESTS=test-s-g test-s-r test-d-g test-d-r
315check_PROGRAMS=$(TESTS)
316
317# Static versions
318
319test_s_r_CFLAGS = -O3 -fomit-frame-pointer ${PIPE}
320test_s_g_CFLAGS = ${PIPE}
321
322test_s_r_CXXFLAGS = -O3 -fomit-frame-pointer -Wextra -Wall -Wno-long-long ${PIPE} $(CXXTEMPLFLAGS)
323test_s_g_CXXFLAGS = -g -Wextra -Wall -Wno-long-long -pedantic ${PIPE} $(CXXTEMPLFLAGS)
324
325test_s_r_SOURCES = test.cc
326test_s_g_SOURCES = test.cc
327
328test_s_r_LDADD = libSingular.la -lnumeric -lkernel -lpolys $(FACTORY_LIBS) -lomalloc -lfindexec $(NTL_LIBS) $(GMP_LIBS) ${USEPPROCSDYNAMICLDFLAGS} ${USEPPROCSDYNAMICLD}
329test_s_g_LDADD = libSingular_g.la -lnumeric_g -lkernel_g -lpolys_g $(FACTORY_LIBS) -lomalloc_g -lfindexec_g $(NTL_LIBS) $(GMP_LIBS) ${USEPPROCSDYNAMICLDFLAGS}  ${USEPPROCSDYNAMICLD}
330
331test_s_r_CPPFLAGS = ${AM_CPPFLAGS} -DHAVE_CONFIG_H -DNDEBUG -DOM_NDEBUG
332test_s_g_CPPFLAGS = ${AM_CPPFLAGS} -DHAVE_CONFIG_H
333
334test_s_r_LDFLAGS = -static
335test_s_g_LDFLAGS = -static
336
337
338# Dynamic versions
339
340test_d_r_CFLAGS = -O3 -fomit-frame-pointer ${PIPE}
341test_d_g_CFLAGS = ${PIPE}
342
343test_d_r_CXXFLAGS = -O3 -fomit-frame-pointer -Wextra -Wall -Wno-long-long ${PIPE} $(CXXTEMPLFLAGS)
344test_d_g_CXXFLAGS = -g -Wextra -Wall -Wno-long-long -pedantic ${PIPE} $(CXXTEMPLFLAGS)
345
346test_d_r_SOURCES = test.cc
347test_d_g_SOURCES = test.cc
348
349test_d_r_LDADD = libSingular.la -lnumeric -lkernel -lpolys $(FACTORY_LIBS) -lomalloc -lfindexec $(NTL_LIBS) $(GMP_LIBS) ${USEPPROCSDYNAMICLDFLAGS} ${USEPPROCSDYNAMICLD}
350test_d_g_LDADD = libSingular_g.la -lnumeric_g -lkernel_g -lpolys_g $(FACTORY_LIBS) -lomalloc_g -lfindexec_g $(NTL_LIBS) $(GMP_LIBS) ${USEPPROCSDYNAMICLDFLAGS}  ${USEPPROCSDYNAMICLD}
351
352test_d_r_CPPFLAGS = ${AM_CPPFLAGS} -DHAVE_CONFIG_H -DNDEBUG -DOM_NDEBUG
353test_d_g_CPPFLAGS = ${AM_CPPFLAGS} -DHAVE_CONFIG_H
354
355#########################################################
356
357# These files are built first
358BUILT_SOURCES = feOpt.inc feOptTS.inc feOptES.inc mpsr_Tok.inc iparith.inc plural_cmd.inc LIB/all.lib
359
360CLEANFILES = $(BUILT_SOURCES) $(EXTRA_PROGRAMS)
361
362feOpt.inc: feOptGen
363        ${abs_builddir}/feOptGen
364
365feOptES.inc: feOptES
366        ${abs_builddir}/feOptES
367
368feOptTS.inc: feOptTS
369        ${abs_builddir}/feOptTS
370
371plural_cmd.inc iparith.inc: gentable1
372        ${abs_builddir}/gentable1
373
374# fake rule to fix parallel make http://www.gnu.org/s/hello/manual/automake/Multiple-Outputs.html
375plural_cmd.inc: iparith.inc
376
377mpsr_Tok.inc: gentable2
378        ${abs_builddir}/gentable2
379
Note: See TracBrowser for help on using the repository browser.