source: git/Singular/Makefile.in @ 4b72f6

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