source: git/Singular/Makefile.am @ 7fee876

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