source: git/Singular/Makefile.in @ e08f69

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