source: git/Singular/Makefile.in @ 6e56de

spielwiese
Last change on this file since 6e56de was c27956, checked in by Olaf Bachmann <obachman@…>, 24 years ago
*** empty log message *** git-svn-id: file:///usr/local/Singular/svn/trunk@4541 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 17.4 KB
Line 
1#################################################################
2###
3### Makefile for Singular
4###
5#################################################################
6
7SHELL           = /bin/sh
8
9##
10## version
11##
12SINGULAR_VERSION        = @SINGULAR_VERSION@
13SINGULAR                = @SINGULAR@
14SINGUNAME               = @SINGUNAME@
15EXEC_EXT                = @EXEC_EXT@
16##
17## various paths
18##
19srcdir          = @srcdir@
20prefix          = @prefix@
21exec_prefix     = @exec_prefix@
22libdir          = @libdir@
23# program executable goes here
24bindir          = @bindir@
25# includes are taken from here
26includedir      = @includedir@
27slibdir         = ${prefix}/LIB
28install_bindir  = ${install_prefix}/${SINGUNAME}
29install_slibdir = ${install_prefix}/LIB
30
31##
32## various programs
33##
34@SET_MAKE@
35CC              = @CC@
36CXX             = @CXX@
37LEX             = @LEX@
38PERL            = @PERL@
39BISON           = bison
40INSTALL         = @INSTALL@
41INSTALL_PROGRAM = @INSTALL_PROGRAM@
42INSTALL_DATA    = @INSTALL_DATA@
43MKINSTALLDIRS   = ./mkinstalldirs
44LN_S            = @LN_S@
45
46##
47## compiler and linker options
48##
49PIPE            = @PIPE@
50CFLAGS          = @CFLAGS@ ${PIPE}
51CXXFLAGS        = @CXXFLAGS@ ${PIPE}
52CXXTEMPLFLAGS   = @CXXTEMPLFLAGS@
53CPPFLAGS        = -I${srcdir} @CPPFLAGS@
54DEFS            = -DNDEBUG -DOM_NDEBUG -D@SING_UNAME@ @DEFS@
55LDFLAGS         = @LDFLAGS@
56LD_DYN_FLAGS    = @LD_DYN_FLAGS@
57LD_LIBC         = -lc
58STATIC_LDFLAGS  = @STATIC_LDFLAGS@
59LIBS            = -lm @NEED_LIBS@
60
61ifdef LD_STATIC
62LDFLAGS  := ${STATIC_LDFLAGS} ${LDFLAGS}
63SING_EXEC = Singular-static
64else
65LDFLAGS  := ${LD_DYN_FLAGS} ${LDFLAGS}
66SING_EXEC = Singular
67endif
68
69
70##
71## End configuration dependend stuff
72#################################################################
73
74###
75### file sets
76###
77
78# normal C++ source files
79CXXSOURCES=grammar.cc scanner.cc algmap.cc attrib.cc binom.cc clapconv.cc \
80    clapsing.cc cntrlc.cc mminit.cc\
81    extra.cc febase.cc feread.cc fehelp.cc feResource.cc feOpt.cc\
82    ffields.cc hdegree.cc hilb.cc hutil.cc \
83    ideals.cc intvec.cc \
84    ipassign.cc ipconv.cc ipid.cc iplib.cc \
85    ipprint.cc ipshell.cc khstd.cc kstdfac.cc \
86    kstd1.cc kstd2.cc kutil.cc lists.cc \
87    longalg.cc longrat.cc longrat0.cc \
88    maps.cc matpol.cc misc.cc sdb.cc gnumpfl.cc gnumpc.cc \
89    modulop.cc mpr_complex.cc sparsmat.cc \
90    fglm.cc fglmzero.cc fglmvec.cc fglmgauss.cc fglmhom.cc fglmcomb.cc \
91    numbers.cc polys.cc polys0.cc polys1.cc polys-impl.cc \
92    ring.cc shortfl.cc silink.cc sing_mp.cc\
93    sing_dld.cc sing_dbm.cc kspoly.cc \
94    subexpr.cc syz.cc syz0.cc syz1.cc syz2.cc syz3.cc\
95    timer.cc weight.cc \
96    mpsr_Put.cc mpsr_PutPoly.cc mpsr_GetPoly.cc \
97    mpsr_Get.cc mpsr_GetMisc.cc mpsr_Error.cc \
98    GMPrat.cc multicnt.cc npolygon.cc semic.cc spectrum.cc splist.cc \
99    ndbm.cc  libparse.cc mod_raw.cc\
100    pcv.cc kbuckets.cc prProcs.cc \
101    mpr_inout.cc mpr_base.cc mpr_numeric.cc \
102    prCopy.cc
103
104
105# normal C source files
106CSOURCES=weight0.c fegetopt.c fereadl.c page.c feOpenWinntUrl.c
107
108# special source files (need extra compiling and/or linking)
109ESOURCES=iparith.cc tesths.cc mpsr_Tok.cc claptmpl.cc
110
111SOURCES=${CSOURCES} ${CXXSOURCES} ${ESOURCES} mmalloc.cc\
112        grammar.y scanner.l libparse.l syz2.cc
113
114
115HEADERS=algmap.h hutil.h lists.h stairc.h attrib.h ideals.h \
116        longalg.h mpsr_Tok.h structs.h binom.h intvec.h longrat.h \
117        numbers.h stype.h clapconv.h ipconv.h maps.h page.h \
118        subexpr.h clapsing.h ipid.h matpol.h polys.h syz.h \
119        cntrlc.h ipprint.h ring.h timer.h sdb.h \
120        febase.h ipshell.h shortfl.h tok.h mpr_complex.h mpr_global.h \
121        page.h \
122        ffields.h khstd.h silink.h sparsmat.h gnumpfl.h gnumpc.h \
123        fglm.h kstd1.h modulop.h sing_dbm.h weight.h \
124        fglmgauss.h fglmvec.h mpsr.h sing_mp.h \
125        kstdfac.h mpsr_Get.h \
126        kutil.h mpsr_Put.h sing_dld.h\
127        ndbm.h polys-impl.h polys-comp.h libparse.h \
128        GMPrat.h multicnt.h npolygon.h semic.h spectrum.h splist.h multicnt.h \
129        pcv.h mod_raw.h kbuckets.h prProcs.h \
130        mpr_global.h mpr_inout.h mpr_base.h mpr_numeric.h \
131        feOpt.h fegetopt.h distrib.h walk.h \
132        prCopy.h
133
134INCS=febase.inc polys.inc iparith.inc mpsr_Tok.inc feOpt.inc
135
136DISTFILES=${SOURCES} ${HEADERS} Makefile.in configure.in configure \
137        mod2.h.in grammar.h testgh install-sh mkinstalldirs \
138        ${INCS} check_aso.pl
139
140OBJS := $(CXXSOURCES:.cc=.o) $(CSOURCES:.c=.o)
141
142ifeq ($(SINGUNAME),ix86-Win)
143OBJS := $(OBJS) Singular_res.o
144endif
145
146#
147# Singular libraries which go into distribution
148# MAKE SURE THAT THIS IS UP_TO_DATE
149#
150SLIBS = algebra.lib        all.lib            classify.lib       deform.lib  \
151        elim.lib           factor.lib         finvar.lib         general.lib \
152        graphics.lib       hnoether.lib       homolog.lib        inout.lib   \
153        ainvar.lib         jordan.lib         latex.lib          linalg.lib  \
154        matrix.lib         mondromy.lib       normal.lib         makedbm.lib \
155        poly.lib           presolve.lib       primdec.lib                    \
156        primitiv.lib       random.lib         ring.lib           sing.lib    \
157        solve.lib          solver.lib         spcurve.lib        standard.lib\
158        surf.lib           triang.lib         template.lib       spectrum.lib\
159        Mregular.lib       toric.lib          ip.lib
160
161SLIBS_FILES = $(addprefix LIB/,${SLIBS})
162
163GFTABLES = $(wildcard LIB/gftables/[1-9]*)
164
165##
166## Build Targets
167##
168.l.cc:
169        @if test "x${LEX}" = x; then \
170                echo Error: no lex given, could not rebuilt scanner.cc;\
171                exit 1; \
172        fi
173        ${LEX} -s -I -t $< > scanner.cc
174.y.cc:
175        @if test "x${BISON}" = x; then \
176                echo Error: no bison given, could not rebuilt grammar.cc;\
177                exit 1; \
178        fi
179        ${BISON} -d -t -o grammar.cc $<
180        chmod +x testgh
181        ./testgh
182
183.cc.o: 
184        ${CXX} ${CXXFLAGS} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFS} -c $<
185.c.o:
186        ${CC} ${CFLAGS} ${CPPFLAGS} ${DEFS} -c $<
187
188all:    $(SING_EXEC)
189
190Singular-static: mod2.h Makefile version.h scanner.cc \
191          ${OBJS} iparith.o tesths.cc libparse.cc claptmpl.o mpsr_Tok.o
192        sleep 1
193        echo "#define HAVE_STATIC" > static.h
194        ${MAKE} LD_STATIC=1 Singular
195        echo "#undef HABE_STATIC" > static.h
196        ${INSTALL_PROGRAM} Singular Singular-static
197
198Singular: mod2.h Makefile version.h scanner.cc  ${OBJS} mmalloc.o \
199          iparith.o tesths.cc libparse.cc claptmpl.o mpsr_Tok.o
200        ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${CXXTEMPLFLAGS} ${DEFS} \
201          -o Singular \
202          tesths.cc iparith.o mpsr_Tok.o claptmpl.o\
203          ${OBJS} ${LDFLAGS} ${LIBS} -lomalloc_ndebug mmalloc.o
204
205iparith.o mpsr_Tok.o : iparith.inc mpsr_Tok.inc
206
207claptmpl.o: claptmpl.cc mod2.h
208        ${CXX} ${CXXFLAGS}  ${CPPFLAGS} ${DEFS} -c $<   
209
210iparith.inc mpsr_Tok.inc: claptmpl.o iparith.cc mmalloc.o\
211                          ipconv.cc tok.h mpsr_Tok.cc grammar.h mod2.h
212        ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${CXXTEMPLFLAGS} ${DEFS} -DGENTABLE \
213             -o gentable claptmpl.o iparith.cc tesths.cc mpsr_Tok.cc \
214             ${OBJS} ${LDFLAGS} ${LIBS} -lomalloc_ndebug mmalloc.o
215        ./gentable
216        /bin/rm -f gentable gentable.exe
217
218
219version.h: ${SOURCES} ${HEADERS} Makefile.in mod2.h.in \
220           configure.in
221        echo unsigned long feVersionId =  `date '+%Y%m%d%H'`\; >version.h
222
223libparse: libparse_main.o utils.o fegetopt.o febase.cc
224        ${CXX}  -DSTANDALONE_PARSER -o libparse febase.cc libparse_main.o utils.o fegetopt.o
225
226libparse_main.o: libparse.cc
227        ${CXX} -c -o libparse_main.o libparse.cc  -DSTANDALONE_PARSER
228
229libparse.cc: libparse.l
230        @if test "x${LEX}" = x; then \
231                echo Error: no lex given, could not rebuilt libparse.cc;\
232                exit 1; \
233        fi
234        ${LEX} -I -Pyylp -olibparse.cc libparse.l
235
236# Hmm compiling with -fomit-frame-pointer resulted in access violation
237# under cygwin
238ESingular: fegetopt.o feResource.cc mod2.h feOpt.cc version.h emacs.cc \
239           feOptES.inc mmalloc.o
240        ${CXX} -O2 ${CPPFLAGS} ${DEFS} -DESINGULAR -o ESingular emacs.cc fegetopt.o \
241        ${LDFLAGS} ${LIBS} -lomalloc_ndebug mmalloc.o
242
243TSingular: fegetopt.o feResource.cc mod2.h feOpt.cc version.h emacs.cc \
244           feOptTS.inc mmalloc.o
245        ${CXX} -O2 ${CPPFLAGS} ${DEFS} -DTSINGULAR -o TSingular emacs.cc fegetopt.o \
246        ${LDFLAGS}  ${LIBS} -lomalloc_ndebug mmalloc.o
247
248feOpt.h: feOpt.inc feOptES.inc feOptTS.inc
249
250feOpt.inc: feOpt.cc mod2.h
251        $(CXX) -DGENERATE_OPTION_INDEX feOpt.cc -o feOpt
252        ./feOpt
253        /bin/rm -f feOpt feOpt.exe
254
255feOptES.inc: feOpt.cc
256        $(CXX) -DGENERATE_OPTION_INDEX  -DESINGULAR feOpt.cc -o feOpt
257        ./feOpt
258        rm -f feOpt feOpt.exe
259
260feOptTS.inc: feOpt.cc
261        $(CXX) -DGENERATE_OPTION_INDEX  -DTSINGULAR feOpt.cc -o feOpt
262        ./feOpt
263        rm -f feOpt feOpt.exe
264
265prCopy.cc : prCopy.inc
266
267prCopy.inc : prCopyMacros.h prCopyTemplate.cc prCopy.pl
268        $(PERL) prCopy.pl > prCopy.inc
269
270src: scanner.cc grammar.h grammar.cc libparse.cc
271
272mod2.h: stamp-h
273
274stamp-h : config.status mod2.h.in
275        CONFIG_FILES= CONFIG_HEADERS="mod2.h" ./config.status
276
277Makefile: Makefile.in config.status
278        CONFIG_FILES="Makefile" CONFIG_HEADERS= ./config.status
279
280config.status: configure
281        ./config.status --recheck
282
283configure: configure.in
284        @echo "WARNING: You need to rerun autoconf. I am proceeding, for now."
285        @touch configure
286#       autoconf
287
288ifeq ($(SINGUNAME),ix86-Win)
289##
290## windows only targets
291##
292
293## resources
294Singular.rc: Singular.rc.in config.status
295        CONFIG_FILES="Singular.rc" CONFIG_HEADERS= ./config.status
296
297ESingular_res.o: Singular.rc
298        windres -DESINGULAR -i Singular.rc -o ESingular_res.o
299
300TSingular_res.o: Singular.rc
301        windres -DTSINGULAR -i Singular.rc -o TSingular_res.o
302
303Singular_res.o: Singular.rc
304        windres -DSINGULAR -i Singular.rc -o Singular_res.o
305
306## run
307run.o: run.c run.h
308        gcc -c -I. -O2 run.c -o run.o
309
310runTSingular : run.o TSingular_res.o
311        gcc -mwindows -e _mainCRTStartup run.o TSingular_res.o -o runTSingular.exe
312
313runESingular : run.o ESingular_res.o
314        gcc -mwindows -e _mainCRTStartup run.o ESingular_res.o -o runESingular.exe
315
316RUN_SINGULARS=runESingular runTSingular
317
318endif
319
320##
321## install targets
322##
323install: all installbin installslib
324
325installbin: ${SING_EXEC} libparse ESingular TSingular ${RUN_SINGULARS}
326        ${MKINSTALLDIRS} ${bindir}
327        ${INSTALL_PROGRAM} ${SING_EXEC} ${SINGULAR}
328        ${INSTALL_PROGRAM} libparse ${RUN_SINGULARS} ${bindir}
329        ${INSTALL_PROGRAM} ESingular ${bindir}
330        ${INSTALL_PROGRAM} TSingular ${bindir}
331        chmod a+x ${SINGULAR}
332        rm -f ${bindir}/${SING_EXEC}${EXEC_EXT}
333        cd ${bindir}; ${LN_S} ${SINGULAR} Singular${EXEC_EXT};\
334
335installslib: LIB
336        test -r ${slibdir} || ${LN_S} `pwd`/LIB ${slibdir}
337
338
339uninstall: uninstallbin
340
341uninstallbin:
342        rm -f ${bindir}/Singular${EXEC_EXT}
343        rm -f ${SINGULAR}
344        -rmdir ${bindir}
345
346##
347## clean targest
348##
349mostlyclean:
350        -rm -f Singular Singular-static Singularg Singularp Singularb libparse feOpt*.inc
351        -rm -f *.o *.og core *.op *.ob *.ot Singulart
352        -rm ESingular* TSingular*
353
354clean: mostlyclean
355         -rm -f *.bak *.d *.dd depend
356
357distclean: clean
358        -rm -f iparith.inc mpsr_Tok.inc stamp.h
359        -rm -f Singular* *.gprof *.bprof *~ .\#* version.h
360        -rm -f mod2.h Makefile TAGS* tags config.status config.cache config.log
361        -rm -f ${slibdir}
362
363srcclean:
364        @echo "This command is intended for maintainers to use;"
365        @echo "Rebuilding the deleted files requires flex"
366        @echo "bison, perl"
367        -rm -f scanner.cc grammar.h grammar.cc libparse.cc
368
369maintainer-clean: distclean srcclean
370        @echo "This command is intended for maintainers to use;"
371        @echo "Rebuilding the deleted files requires flex"
372        @echo "bison, perl and autoconf"
373        -rm configure
374
375##
376## miscellanous targets
377##
378
379install-bindist: $(HEADERS) $(SOURCES) Makefile depend
380        echo "#define MAKE_DISTRIBUTION " > distrib.h
381        sleep 1
382        ${MAKE} ${SING_EXEC} ESingular TSingular libparse ${RUN_SINGULARS}
383        ${MKINSTALLDIRS} ${install_bindir}
384        ${INSTALL_PROGRAM} -s  ${SING_EXEC} ${install_bindir}/Singular
385        ${INSTALL_PROGRAM} -s  libparse ${RUN_SINGULARS} ESingular TSingular ${install_bindir}
386        echo "#undef MAKE_DISTRIBUTION " > distrib.h
387
388install-sharedist: ${SLIBS_FILES} LIB/gftables
389        ${MKINSTALLDIRS} ${install_slibdir}
390        cp ${SLIBS_FILES} ${install_slibdir}
391        ${MKINSTALLDIRS} ${install_slibdir}/gftables
392        cp ${GFTABLES} ${install_slibdir}/gftables
393        chmod -R +rX ${install_slibdir}/*
394
395tar:
396        tar cf Singular-${SINGULAR_VERSION}-src.tar ${DISTFILES}
397        gzip -f Singular-${SINGULAR_VERSION}-src.tar
398
399backup: tar
400        mcopy -o Singular-${SINGULAR_VERSION}-src.tar.gz a:
401
402TAGS:   ${SOURCES} ${HEADERS}
403        etags ${SOURCES} ${HEADERS}
404
405tags:   
406        ctags *.y *.l *.c *.h *.cc *.inc
407
408echoLIBS:
409        @echo ${SLIBS}
410
411##
412## Below here is stuff for developpers
413#################################################################
414
415##
416## compiler and linker options for debug version
417##
418
419CCG             = gcc
420CXXG            = gcc
421CXXM            = gcc -MM -MG -DGENERATE_DEPEND
422CCM             = gcc -MM -MG -DGENERATE_DEPEND
423
424CFLAGSG         = -g -Wall -Wno-unused ${PIPE}
425CXXFLAGSG       = -g -Wall -Wno-unused ${PIPE}
426CXXTEMPLFLAGSG  = -fno-implicit-templates
427DEFSG           = -D@SING_UNAME@ @DEFS@
428
429##
430## .og files for having -O and -g object versions available at the same time
431##
432
433OBJG1 := $(CXXSOURCES:.cc=.og)
434OBJG2 := $(CSOURCES:.c=.og)
435
436
437OBJG=$(OBJG1) $(OBJG2)
438
439##
440## Debug Targets
441##
442
443claptmpl.og: claptmpl.cc mod2.h
444        $(CXXG)  ${CXXFLAGSG} ${CPPFLAGS} ${DEFSG} -c $< -o $@
445
446$(OBJG1) mmalloc.og: %.og: %.cc
447        $(CXXG) ${CXXFLAGSG} ${CXXTEMPLFLAGSG} ${CPPFLAGS} ${DEFSG} -c $< -o $@
448
449$(OBJG2) : %.og: %.c
450        $(CCG)  ${CFLAGSG} ${CPPFLAGS} ${DEFSG} -c $< -o $@
451
452Singularg: scanner.cc  $(OBJG)  mmalloc.og\
453           iparith.og mpsr_Tok.og claptmpl.og tesths.cc version.h
454        $(CXXG) ${CXXFLAGSG} ${CXXTEMPLFLAGSG} ${CPPFLAGS} ${DEFSG} -o Singularg \
455        tesths.cc iparith.og mpsr_Tok.og claptmpl.og $(OBJG) ${LDFLAGS} ${LIBS} -lomalloc mmalloc.og \
456        ${LD_DYN_FLAGS} ${LD_LIBC}
457
458iparith.og: iparith.inc iparith.cc
459        $(CXXG)  ${CXXFLAGSG} ${CXXTEMPLFLAGSG} ${CPPFLAGS} ${DEFSG} -c iparith.cc -o iparith.og
460
461mpsr_Tok.og: iparith.inc mpsr_Tok.cc
462        $(CXXG) ${CXXFLAGSG} ${CPPFLAGS} ${CXXTEMPLFLAGSG} ${DEFSG} -c mpsr_Tok.cc -o mpsr_Tok.og
463
464installg: Singularg
465        ${MKINSTALLDIRS} ${bindir}
466        ${INSTALL_PROGRAM} Singularg ${bindir} 
467
468ESingularg: fegetopt.og feResource.cc mod2.h feOpt.cc version.h emacs.cc \
469           feOptES.inc mmalloc.og
470        ${CXXG} -DESINGULAR -g ${DEFSG} -o ESingularg emacs.cc fegetopt.og ${LDFLAGS} ${LIBS} mmalloc.og
471
472##
473## compiler and linker options for profile version
474##
475
476CCP             = gcc
477CXXP            = gcc
478
479CFLAGSP         = -pg -O3 ${PIPE}
480CXXFLAGSP       = -pg -O3 ${PIPE}
481CXXTEMPLFLAGSP  = -fno-implicit-templates
482DEFSP           = -DNDEBUG -DOM_NDEBUG -DDO_PROFILE -D@SING_UNAME@ @DEFS@
483LDFLAGSP        = -static @LDFLAGS@
484
485CFLAGSB         = -g -O3 ${PIPE}
486CXXFLAGSB       = -g -O3 ${PIPE}
487CXXTEMPLFLAGSB  = -fno-implicit-templates
488DEFSB           = -D@SING_UNAME@ -DOM_NDEBUG -DNDEBUG @DEFS@
489LDFLAGSB        = -static @LDFLAGS@
490
491# bprof object  file to link with
492BPROFOBJ        = /usr/local/lib/bmon.o
493
494DEFST           = -DNDEBUG -D@SING_UNAME@ -DOM_TRACK=2 -DOM_CHECK=0 @DEFS@
495LDFLAGST        = @LDFLAGS@
496CFLAGST         = -g  -O2 -w ${PIPE}
497CXXFLAGST       = -g  -O2 -w ${PIPE}
498
499##
500## op and ob files for gprof and bprof, ot for mtrack
501##
502
503OBJP1 := $(CXXSOURCES:.cc=.op)
504OBJP2 := $(CSOURCES:.c=.op)
505OBJP=$(OBJP1) $(OBJP2)
506
507OBJB1 := $(CXXSOURCES:.cc=.ob)
508OBJB2 := $(CSOURCES:.c=.ob)
509OBJB=$(OBJB1) $(OBJB2)
510
511OBJT1 := $(CXXSOURCES:.cc=.ot)
512OBJT2 := $(CSOURCES:.c=.ot)
513OBJT=$(OBJT1) $(OBJT2)
514
515##
516## profile targets
517##
518
519## for gprof
520claptmpl.op: claptmpl.cc mod2.h
521        $(CXXP)  ${CXXFLAGSP} ${CPPFLAGS} ${DEFSP} -c $< -o $@
522
523$(OBJP1) mmalloc.op: %.op: %.cc
524        $(CXXP) ${CXXFLAGSP} ${CXXTEMPLFLAGSP} ${CPPFLAGS} ${DEFSP} -c $< -o $@
525
526$(OBJP2) : %.op: %.c
527        $(CCP)  ${CFLAGSP} ${CPPFLAGS} ${DEFSP} -c $< -o $@
528
529Singularp: scanner.cc   $(OBJP) mmalloc.op\
530           iparith.op mpsr_Tok.op claptmpl.op tesths.cc version.h
531        $(CXXP) ${CXXFLAGSP} ${CXXTEMPLFLAGSP} ${CPPFLAGS} ${DEFSP} -o Singularp \
532        tesths.cc iparith.op mpsr_Tok.op claptmpl.op $(OBJP) ${LDFLAGSP} ${LIBS} -lomalloc_p mmalloc.op\
533        ${LD_DYN_FLAGS}
534
535iparith.op: iparith.inc iparith.cc
536        $(CXXP)  ${CXXFLAGSP} ${CXXTEMPLFLAGSP} ${CPPFLAGS} ${DEFSP} -c iparith.cc -o iparith.op
537
538mpsr_Tok.op: iparith.inc mpsr_Tok.cc
539        $(CXXP) ${CXXFLAGSP} ${CXXTEMPLFLAGSP} ${CPPFLAGS} ${DEFSP} -c mpsr_Tok.cc -o mpsr_Tok.op
540
541
542## for bprof
543claptmpl.ob: claptmpl.cc mod2.h
544        $(CXXP)  ${CXXFLAGSP} ${CPPFLAGS} ${DEFSB} -c $< -o $@
545
546$(OBJB1) mmalloc.ob: %.ob: %.cc
547        $(CXXP) ${CXXFLAGSP} ${CXXTEMPLFLAGSP} ${CPPFLAGS} ${DEFSB} -c $< -o $@
548
549$(OBJB2) : %.ob: %.c
550        $(CCP)  ${CFLAGSP} ${CPPFLAGS} ${DEFSB} -c $< -o $@
551
552Singularb: scanner.cc   $(OBJB) iparith.ob mpsr_Tok.ob claptmpl.ob tesths.cc version.h mmalloc.ob
553        $(CXXP) ${CXXFLAGSP} ${CPPFLAGS} ${DEFSB} -o Singularb \
554        tesths.cc iparith.ob mpsr_Tok.ob claptmpl.ob $(OBJB) $(BPROFOBJ) \
555        ${LDFLAGSP} ${LIBS} -lomalloc_ndebug mmalloc.ob ${LD_DYN_FLAGS}
556
557iparith.ob: iparith.inc iparith.cc
558        $(CXXP)  ${CXXFLAGSP} ${CXXTEMPLFLAGSP} ${CPPFLAGS} ${DEFSB} -c iparith.cc -o iparith.ob
559
560mpsr_Tok.ob: iparith.inc mpsr_Tok.cc
561        $(CXXP) ${CXXFLAGSP} ${CXXTEMPLFLAGSP} ${CPPFLAGS} ${DEFSB} -c mpsr_Tok.cc -o mpsr_Tok.ob
562
563#
564# for mtrack
565#
566claptmpl.ot: claptmpl.cc mod2.h
567        $(CXXP)  ${CXXFLAGST} ${CPPFLAGS} ${DEFST} -c $< -o $@
568
569$(OBJT1) mmalloc.ot: %.ot: %.cc
570        $(CXXP) ${CXXFLAGST} ${CXXTEMPLFLAGSP} ${CPPFLAGS} ${DEFST} -c $< -o $@
571
572$(OBJT2) : %.ot: %.c
573        $(CCP)  ${CFLAGST} ${CPPFLAGS} ${DEFST} -c $< -o $@
574
575Singulart: scanner.cc   $(OBJT) iparith.ot mpsr_Tok.ot claptmpl.ot tesths.cc version.h  mmalloc.ot
576        $(CXXP) ${CXXFLAGST} ${CPPFLAGS} ${DEFST} -o Singulart \
577        tesths.cc iparith.ot mpsr_Tok.ot claptmpl.ot $(OBJT) ${LDFLAGST} ${LIBS} -lomalloc mmalloc.ot \
578        ${LD_DYN_FLAGS}
579
580iparith.ot: iparith.inc iparith.cc
581        $(CXXP)  ${CXXFLAGST} ${CXXTEMPLFLAGSB} ${CPPFLAGS} ${DEFST} -c iparith.cc -o iparith.ot
582
583mpsr_Tok.ot: iparith.inc mpsr_Tok.cc
584        $(CXXP) ${CXXFLAGST} ${CXXTEMPLFLAGSB} ${CPPFLAGS} ${DEFST} -c mpsr_Tok.cc -o mpsr_Tok.ot
585
586
587##
588## check_aso
589##
590check_aso:
591        ${PERL} check_aso.pl $(SOURCES)
592##
593## dependencies
594##
595
596%.dd: %.cc mod2.h
597        echo $(@:.dd=.og) $(@:.dd=.op) $(@:.dd=.ob) $(@:.dd=.ot)" " \\ > $@
598        $(CXXM) -DGENTABLE ${CPPFLAGS} ${DEFSG} $< >> $@
599
600%.d: %.c mod2.h
601        echo $(@:.d=.og) $(@:.d=.op) $(@:.d=.ob) $(@:.d=.ot)" " \\ > $@
602        $(CCM) ${CPPFLAGS} ${DEFSG} $< >> $@
603
604depend:   $(CXXSOURCES:.cc=.dd) $(CSOURCES:.c=.d) mmalloc.dd mod2.h
605        cat *.d *.dd >depend
606
607ifeq (depend,$(wildcard depend))
608include depend
609endif
610
611
612
Note: See TracBrowser for help on using the repository browser.