source: git/Singular/Makefile.in @ 58914b

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