source: git/Singular/Makefile.in @ d511af

spielwiese
Last change on this file since d511af was d511af, checked in by Olaf Bachmann <obachman@…>, 26 years ago
* explicit dependency of mmutil.o on mmutil.inc git-svn-id: file:///usr/local/Singular/svn/trunk@1549 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 17.3 KB
Line 
1#################################################################
2###
3### Makefile for Singular
4###
5#################################################################
6
7SHELL           = /bin/sh
8
9##
10## versions
11##
12SINGULAR_MAJOR_VERSION  = @SINGULAR_MAJOR_VERSION@
13SINGULAR_MINOR_VERSION  = @SINGULAR_MINOR_VERSION@
14DIST_NAME       = Singular-${SINGULAR_MAJOR_VERSION}.${SINGULAR_MINOR_VERSION}
15
16##
17## various paths
18##
19srcdir          = @srcdir@
20prefix          = @prefix@
21exec_prefix     = @exec_prefix@
22libdir          = @libdir@
23# program executable goes here
24bindir          = @bindir@
25# Singular libs go here
26singulardatadir = @singulardatadir@
27includedir      = @includedir@
28
29##
30## various programs
31##
32CC              = @CC@
33CXX             = @CXX@
34LEXP            = @LEXP@
35PERL            = @PERL@
36BISON           = bison
37@SET_MAKE@
38INSTALL         = ./install-sh -c
39INSTALL_PROGRAM = ${INSTALL}
40INSTALL_DATA    = ${INSTALL} -m 644
41MKINSTALLDIRS   = ./mkinstalldirs
42
43##
44## compiler and linker options
45##
46CFLAGS          = @CFLAGS@ -pipe
47CXXFLAGS        = @CXXFLAGS@ -pipe
48CXXTEMPLFLAGS   = @CXXTEMPLFLAGS@
49CPPFLAGS        = -I${srcdir} @CPPFLAGS@
50DEFS            = @DEFS@ -DNDEBUG
51LDFLAGS         = @LDFLAGS@
52STATIC_LDFLAGS  = @STATIC_LDFLAGS@
53LIBS            = @NEED_LIBS@
54
55##
56## subdirectories
57##
58# where the doumentation files are
59docdir          = doc
60# where the tests files are
61testdir         = tests
62
63##
64## the configuration
65##
66WITH_MP         = @WITH_MP@
67WITH_FACTORY    = @WITH_FACTORY@
68WITH_LIBFAC     = @WITH_LIBFAC@
69WITH_DBM        = @WITH_DBM@
70DOS_CROSS       = @DOS_CROSS@
71
72##
73## End configuration dependend stuff
74#################################################################
75
76###
77### file sets
78###
79
80CXXSOURCES=grammar.cc scanner.cc algmap.cc attrib.cc binom.cc clapconv.cc \
81    clapmem.cc clapsing.cc claptmpl.cc cntrlc.cc \
82    extra.cc febase.cc feread.cc \
83    ffields.cc hdegree.cc hilb.cc hutil.cc \
84    ideals.cc intvec.cc iparith.cc \
85    ipassign.cc ipconv.cc ipid.cc iplib.cc \
86    ipprint.cc ipshell.cc khstd.cc kstdfac.cc \
87    comm.cc kstd1.cc kstd2.cc kutil.cc lists.cc \
88    longalg.cc longrat.cc \
89    longrat0.cc maps.cc matpol.cc misc.cc \
90    mminit.cc modulop.cc \
91    fglm.cc fglmzero.cc fglmvec.cc fglmgauss.cc fglmhom.cc \
92    numbers.cc polys.cc polys0.cc polys1.cc polys-impl.cc \
93    ring.cc shortfl.cc silink.cc sing_mp.cc\
94    sing_dld.cc sing_dbm.cc spolys.cc spolys0.cc \
95    subexpr.cc syz.cc syz0.cc syz1.cc \
96    tesths.cc timer.cc weight.cc \
97    mpsr_Put.cc mpsr_PutPoly.cc mpsr_Tok.cc mpsr_GetPoly.cc \
98    mpsr_Get.cc mpsr_GetMisc.cc mpsr_Error.cc \
99    ndbm.cc spSpolyLoop.cc libparse.cc
100
101CSOURCES=mmalloc.c mmallocb.c mmallocs.c mmblock.c  mmspec.c mmutil.c weight0.c find_exec.c getopt.c
102
103SOURCES=${CSOURCES} ${CXXSOURCES} grammar.y scanner.l libparse.l spSpolyLoop.pl
104
105HEADERS=algmap.h hutil.h lists.h stairc.h attrib.h ideals.h \
106        longalg.h mpsr_Tok.h structs.h binom.h intvec.h longrat.h \
107        numbers.h stype.h clapconv.h ipconv.h maps.h page.h \
108        subexpr.h clapsing.h ipid.h matpol.h polys.h syz.h \
109        cntrlc.h ipprint.h mmemory.h ring.h timer.h \
110        febase.h ipshell.h mmprivat.h shortfl.h tok.h \
111        ffields.h khstd.h silink.h \
112        fglm.h comm.h kstd1.h modulop.h sing_dbm.h weight.h \
113        fglmgauss.h fglmvec.h kstd2.h mpsr.h sing_mp.h \
114        kstdfac.h mpsr_Get.h spolys.h \
115        kutil.h mpsr_Put.h spolys0.h \
116        ndbm.h spSpolyLoop.h polys-impl.h polys-comp.h getopt.h
117
118TESTS=${testdir}/comparecheck ${testdir}/fac_test.in ${testdir}/fac_test.out\
119        ${testdir}/general_test.in ${testdir}/general_test.out \
120        ${testdir}/mpcheck ${testdir}/mpcheck.data \
121        ${testdir}/dbm_test.in ${testdir}/dbm_test.out
122
123DOCS=${docdir}/Makefile.in ${docdir}/copyright.tex ${docdir}/doc2tex.c \
124        ${docdir}/examples.doc ${docdir}/examples.tex ${docdir}/proc.tex \
125        ${docdir}/singular.doc ${docdir}/start.doc \
126        ${docdir}/start.tex ${docdir}/tutor.tex ${docdir}/singular.tex
127
128DISTFILES=${SOURCES} ${HEADERS} Makefile.in configure.in configure \
129        mod2.h.in grammar.h testgh install-sh mkinstalldirs \
130        ${TESTS} ${DOCS}
131
132OBJS=grammar.o scanner.o matpol.o binom.o\
133     febase.o feread.o timer.o intvec.o attrib.o lists.o\
134     longrat.o longrat0.o misc.o ring.o numbers.o maps.o\
135     hilb.o comm.o kstd1.o kstd2.o kutil.o khstd.o kstdfac.o modulop.o spolys.o\
136     ideals.o subexpr.o hdegree.o hutil.o ffields.o shortfl.o \
137     longalg.o spolys0.o syz.o syz0.o syz1.o weight.o weight0.o \
138     ipid.o ipshell.o iplib.o ipassign.o ipconv.o ipprint.o\
139     polys.o polys0.o polys1.o polys-impl.o extra.o\
140     mminit.o mmutil.o mmalloc.o mmallocb.o mmallocs.o \
141     mmspec.o mmblock.o sing_dld.o sing_dbm.o silink.o \
142     sing_mp.o fglm.o fglmzero.o fglmvec.o fglmhom.o fglmgauss.o cntrlc.o \
143     algmap.o clapconv.o  clapmem.o clapsing.o claptmpl.o\
144     mpsr_Error.o mpsr_Put.o mpsr_PutPoly.o mpsr_GetPoly.o \
145     mpsr_Get.o mpsr_GetMisc.o ndbm.o spSpolyLoop.o libparse.o \
146     find_exec.o getopt.o
147
148##
149## PRIMARY Targets
150##
151
152
153.l.cc:
154        @if test "${LEXP}" = touch; then \
155                touch scanner.cc; \
156                echo Warning: could not rebuilt scanner.cc;\
157        else \
158                echo "${LEXP} -s -I -t $< > scanner.cc"; \
159                ${LEXP} -s -I -t $< > scanner.cc; \
160        fi
161.y.cc:
162        ${BISON} -d -t -o grammar.cc $<
163        chmod +x testgh
164        ./testgh
165
166.cc.o: 
167        ${CXX} ${CXXFLAGS} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFS} -c $<
168.c.o:
169        ${CC} ${CFLAGS} ${CPPFLAGS} ${DEFS} -c $<
170
171all:    Singular
172
173Singular: mod2.h Makefile version.h scanner.cc ${OBJS} iparith.o \
174                                        mpsr_Tok.o tesths.cc libparse.cc
175        ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${DEFS} -o Singular \
176        tesths.cc iparith.o mpsr_Tok.o ${OBJS} ${LDFLAGS} ${LIBS}
177
178Singular-static: mod2.h Makefile version.h scanner.cc ${OBJS} iparith.o \
179                                                mpsr_Tok.o tesths.cc
180        ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${DEFS} -o Singular-static \
181        tesths.cc iparith.o mpsr_Tok.o \
182        ${OBJS} ${STATIC_LDFLAGS} ${LDFLAGS} ${LIBS}
183
184
185iparith.o mpsr_Tok.o : iparith.inc mpsr_Tok.inc
186
187claptmpl.o: claptmpl.cc mod2.h
188        ${CXX} ${CXXFLAGS}  ${CPPFLAGS} ${DEFS} -c $<   
189
190iparith.inc mpsr_Tok.inc: iparith.cc ipconv.cc tok.h mpsr_Tok.cc grammar.h mod2.h
191        @if test "${DOS_CROSS}" = yes; then \
192                echo "NEED TO GENERATE inc FILES -- Please be patient" ;\
193                cd ..; \
194                ./configure.dos --generate-inc; \
195        else \
196                echo ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${DEFS} -DGENTABLE \
197                     -o gentable iparith.cc tesths.cc mpsr_Tok.cc \
198                     ${OBJS} ${LDFLAGS} ${LIBS};\
199                ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${DEFS} -DGENTABLE \
200                     -o gentable iparith.cc tesths.cc mpsr_Tok.cc \
201                     ${OBJS} ${LDFLAGS} ${LIBS};\
202                echo ./gentable; \
203                ./gentable; \
204                echo /bin/rm gentable;\
205                /bin/rm gentable; \
206        fi
207
208
209mmutil.inc: mmutil.c mmprivat.h
210        ${CXX} ${CXXFLAGS}  ${CPPFLAGS} ${DEFS} \
211               -DGENERATE_INDEX_TABLE -DHAVE_INDEX_TABLE mmutil.c -o mmutil
212        ./mmutil > mmutil.inc
213        rm -rf mmutil
214
215mmutil.o: mmutil.inc
216
217version.h: ${SOURCES} ${HEADERS} Makefile.in mod2.h.in configure.in
218        echo "#define SINGULAR_VERSION_ID " `date '+%y%m%d%H'` >version.h
219
220mod2.h: stamp-h
221
222stamp-h : config.status mod2.h.in
223        CONFIG_FILES= CONFIG_HEADERS=mod2.h ./config.status
224
225spSpolyLoop.cc spSpolyLoop.dd : spSpolyLoop.inc
226
227spSpolyLoop.inc: spSpolyLoop.pl
228        ${PERL} spSpolyLoop.pl > spSpolyLoop.inc
229
230libparse: libparse_main.o utils.o
231        ${CXX} -o libparse libparse_main.o utils.o
232
233libparse_main.o: libparse.cc
234        ${CXX} -c -o libparse_main.o libparse.cc -DSTANDALONE_PARSER
235
236libparse.cc: libparse.l
237        @if test "${LEXP}" = touch; then \
238                touch libparse.cc; \
239                echo Warning: could not rebuilt libparse.cc;\
240        else \
241                echo ${LEXP} -I -Pyylp -olibparse.cc libparse.l;\
242                ${LEXP} -I -Pyylp -olibparse.cc libparse.l;\
243        fi
244
245Makefile: Makefile.in config.status
246        CONFIG_FILES="Makefile" CONFIG_HEADERS= ./config.status
247
248doc/Makefile: doc/Makefile.in config.status
249        CONFIG_FILES="doc/Makefile" CONFIG_HEADERS= ./config.status
250
251config.status: configure
252        ./config.status --recheck
253
254configure: configure.in
255        @echo "WARNING: You need to rerun autoconf. I am proceeding, for now."
256        @touch configure
257#       autoconf
258
259##
260## install targets
261##
262install: all installbin installdata installinfo
263
264installbin: Singular
265        ${MKINSTALLDIRS} ${bindir}
266        ${INSTALL_PROGRAM} Singular ${bindir}
267
268installdata:
269        ${MKINSTALLDIRS} ${singulardatadir}
270        ${MKINSTALLDIRS} ${singulardatadir}/gftables
271        for file in ${srcdir}/LIB/gftables/[0-9]*; do \
272                ${INSTALL_DATA} $${file} ${singulardatadir}/gftables; \
273        done
274        for file in ${srcdir}/LIB/*.lib; do \
275                ${INSTALL_DATA} $${file} ${singulardatadir}; \
276        done
277
278installinfo:
279        cd ${docdir}; ${MAKE} install
280
281uninstall: uninstallbin uninstalldata uninstallinfo
282
283uninstallbin:
284        -rm -f ${bindir}/Singular
285        -rmdir ${bindir}
286
287uninstalldata:
288        -rm -rf ${singulardatadir}/*.lib ${singulardatadir}/gftables
289        -rmdir ${singulardatadir}
290
291unistallinfo:
292        cd ${docdir}; ${MAKE} uninstall
293
294##
295## clean targest
296##
297mostlyclean: clean
298
299clean:
300        -rm -rf Singular* *.o *.og core *.d *.dd *~ \#* /tmp/mp* \
301                *.got *dump* *.diff *.dir *.pag
302        cd ${docdir}; ${MAKE} clean
303
304distclean: clean
305        -rm -rf depend iparith.inc mpsr_Tok.inc
306        -rm -rf ${DIST_NAME} ${testdir}/out stamp-h
307        -rm mod2.h Makefile TAGS* config.status config.cache config.log
308        cd ${docdir}; ${MAKE} distclean
309
310maintainer-clean: distclean
311        @echo "This command is intended for maintainers to use;"
312        @echo "Rebuilding the deleted files requires flex"
313        @echo "bison, perl and autoconf"
314        -rm configure scanner.cc grammar.h grammar.cc libparse.cc spSpolyLoop.inc
315
316info dvi ps html:
317        cd ${docdir}; ${MAKE} $@
318
319check:  Singular ${testdir}/general_test.in ${testdir}/general_test.out
320        - @ SINGULARPATH=`pwd`/LIB; export SINGULARPATH; \
321        PATH=`pwd`:${PATH}; export PATH;\
322        Singular=`pwd`/Singular; export Singular;\
323        ${testdir}/comparecheck ${testdir}/general_test.in ${testdir}/general_test.out
324        @ if test "${WITH_MP}" = yes; then ${MAKE} mpcheck; fi;
325        @ if test "${WITH_FACTORY}" = yes && test "${WITH_LIBFAC}" = yes; then \
326          ${MAKE} factorycheck;\
327        fi
328        @ if test "${WITH_DBM}" = yes; then ${MAKE} dbmcheck; fi
329
330
331mpcheck: Singular ${testdir}/mpcheck ${testdir}/mpcheck.data
332        - @ SINGULARPATH=`pwd`/LIB; export SINGULARPATH; \
333        PATH=`pwd`:${PATH}; export PATH;\
334        Singular=`pwd`/Singular; export Singular;\
335        ${testdir}/mpcheck ${testdir}/mpcheck.data
336
337factorycheck: Singular ${testdir}/comparecheck ${testdir}/fac_test.in \
338                ${testdir}/fac_test.out
339        - @ SINGULARPATH=`pwd`/LIB; export SINGULARPATH; \
340        PATH=`pwd`:${PATH}; export PATH;\
341        Singular=`pwd`/Singular; export Singular;\
342        ${testdir}/comparecheck ${testdir}/fac_test.in ${testdir}/fac_test.out
343
344dbmcheck: Singular ${testdir}/comparecheck ${testdir}/dbm_test.in \
345                ${testdir}/dbm_test.out
346        - @ SINGULARPATH=`pwd`/LIB; export SINGULARPATH; \
347        PATH=`pwd`:${PATH}; export PATH;\
348        Singular=`pwd`/Singular; export Singular;\
349        ${testdir}/comparecheck ${testdir}/dbm_test.in ${testdir}/dbm_test.out
350
351
352##
353## miscellanous targets
354##
355
356dist:
357        rm -rf ${DISTNAME}.tar* ${TEMPDIR}/${DISTNAME}*
358        mkdir ${TEMPDIR}/${DISTNAME}
359        - cp -pR . ${TEMPDIR}/${DISTNAME}
360        cd ${TEMPDIR}/${DISTNAME}; ${MAKE} distclean;
361        cd ${TEMPDIR}; tar cf ${DISTNAME}.tar ${DISTNAME}
362        rm -rf ${TEMPDIR}/${DISTNAME}
363        - gzip -9 ${TEMPDIR}/${DISTNAME}.tar
364        - mv ${TEMPDIR}/${DISTNAME}.tar.gz .
365
366TAGS:
367        etags ${SOURCES} ${HEADERS}
368
369##
370## Below here is stuff for developpers
371#################################################################
372
373##
374## compiler and linker options for debug version
375##
376
377CCG             = gcc
378CXXG            = gcc
379CXXM            = gcc -MM
380CCM             = gcc -MM
381
382CFLAGSG         = -g -Wall -Wno-unused -pipe
383CXXFLAGSG       = -g -Wall -Wno-unused -pipe
384CXXTEMPLFLAGSG  = -fno-implicit-templates
385DEFSG           = @DEFS@
386
387##
388## .og files for having -O and -g object versions available at the same time
389##
390
391OBJG1=  grammar.og scanner.og matpol.og binom.og\
392     febase.og feread.og timer.og intvec.og attrib.og lists.og\
393     longrat.og longrat0.og misc.og ring.og numbers.og maps.og\
394     hilb.og comm.og kstd1.og kstd2.og kutil.og khstd.og kstdfac.og modulop.og \
395     spolys.og ideals.og subexpr.og hdegree.og hutil.og ffields.og shortfl.og \
396     longalg.og spolys0.og syz.og syz0.og syz1.og weight.og \
397     ipid.og ipshell.og iplib.og ipassign.og ipconv.og ipprint.og\
398     polys.og polys0.og polys1.og polys-impl.og extra.og\
399     mminit.og sing_dld.og sing_dbm.og silink.og \
400     sing_mp.og fglm.og fglmzero.og fglmvec.og fglmgauss.og fglmhom.og\
401     algmap.og clapconv.og  clapmem.og clapsing.og \
402     cntrlc.og  \
403     mpsr_Error.og mpsr_Put.og mpsr_PutPoly.og mpsr_GetPoly.og \
404     mpsr_Get.og mpsr_GetMisc.og \
405     ndbm.og spSpolyLoop.og libparse.og \
406
407OBJG2= mmalloc.og mmallocb.og mmallocs.og mmblock.og \
408     mmspec.og mmutil.og weight0.og find_exec.og getopt.og
409
410
411OBJG=$(OBJG1) $(OBJG2) claptmpl.og
412
413##
414## Debug Targets
415##
416
417claptmpl.og: claptmpl.cc mod2.h
418        $(CXXG)  ${CXXFLAGSG} ${CPPFLAGS} ${DEFSG} -c $< -o $@
419$(OBJG1): %.og: %.cc
420        $(CXXG) ${CXXFLAGSG} ${CXXTEMPLFLAGSG} ${CPPFLAGS} ${DEFSG} -c $< -o $@
421
422$(OBJG2): %.og: %.c
423        $(CCG)  ${CFLAGSG} ${CPPFLAGS} ${DEFSG} -c $< -o $@
424
425Singularg: scanner.cc $(OBJG) iparith.og mpsr_Tok.og tesths.cc version.h
426        $(CXXG) ${CXXFLAGSG} ${CPPFLAGS} ${DEFSG} -o Singularg \
427        tesths.cc iparith.og mpsr_Tok.og $(OBJG) ${LDFLAGS} ${LIBS}
428
429iparith.og: iparith.inc iparith.cc
430        $(CXXG)  ${CXXFLAGSG} ${CPPFLAGS} ${DEFSG} -c iparith.cc -o iparith.og
431
432mpsr_Tok.og: iparith.inc mpsr_Tok.cc
433        $(CXXG) ${CXXFLAGSG} ${CPPFLAGS} ${DEFSG} -c mpsr_Tok.cc -o mpsr_Tok.og
434
435installg: Singularg
436        ${MKINSTALLDIRS} ${bindir}
437        ${INSTALL_PROGRAM} Singularg ${bindir} 
438
439##
440## compiler and linker options for profile version
441##
442
443CCP             = gcc
444CXXP            = gcc
445
446CFLAGSP         = -pg -O3 -pipe 
447CXXFLAGSP       = -pg -O3 -pipe
448CXXTEMPLFLAGSP  = -fno-implicit-templates
449DEFSP           = @DEFS@ -DNDEBUG -DDO_PROFILE
450LDFLAGSP        = -static @LDFLAGS@
451
452CFLAGSB         = -g -O3 -pipe 
453CXXFLAGSB       = -g -O3 -pipe
454CXXTEMPLFLAGSB  = -fno-implicit-templates
455DEFSB           = @DEFS@ -DNDEBUG
456LDFLAGSB        = -static @LDFLAGS@
457# bprof object  file to link with
458BPROFOBJ        = /usr/local/lib/bmon.o
459
460
461##
462## .op files for gprof
463##
464
465OBJP1=  grammar.op scanner.op matpol.op binom.op\
466     febase.op feread.op timer.op intvec.op attrib.op lists.op\
467     longrat.op longrat0.op misc.op ring.op numbers.op maps.op\
468     hilb.op comm.op kstd1.op kstd2.op kutil.op khstd.op kstdfac.op modulop.op \
469     spolys.op ideals.op subexpr.op hdegree.op hutil.op ffields.op shortfl.op \
470     longalg.op spolys0.op syz.op syz0.op syz1.op weight.op \
471     ipid.op ipshell.op iplib.op ipassign.op ipconv.op ipprint.op\
472     polys.op polys0.op polys1.op polys-impl.op extra.op\
473     mminit.op sing_dld.op sing_dbm.op silink.op \
474     sing_mp.op fglm.op fglmzero.op fglmvec.op fglmgauss.op fglmhom.op\
475     algmap.op clapconv.op  clapmem.op clapsing.op \
476     cntrlc.op  \
477     mpsr_Error.op mpsr_Put.op mpsr_PutPoly.op mpsr_GetPoly.op \
478     mpsr_Get.op mpsr_GetMisc.op \
479     ndbm.op spSpolyLoop.op libparse.op
480
481OBJP2= mmalloc.op mmallocb.op mmallocs.op mmblock.op \
482     mmspec.op mmutil.op weight0.op find_exec.op getopt.op
483
484OBJP=$(OBJP1) $(OBJP2) claptmpl.op
485
486##
487## .ob files for bprof
488##
489
490OBJB1=  grammar.ob scanner.ob matpol.ob binom.ob\
491     febase.ob feread.ob timer.ob intvec.ob attrib.ob lists.ob\
492     longrat.ob longrat0.ob misc.ob ring.ob numbers.ob maps.ob\
493     hilb.ob comm.ob kstd1.ob kstd2.ob kutil.ob khstd.ob kstdfac.ob modulop.ob \
494     spolys.ob ideals.ob subexpr.ob hdegree.ob hutil.ob ffields.ob shortfl.ob \
495     longalg.ob spolys0.ob syz.ob syz0.ob syz1.ob weight.ob \
496     ipid.ob ipshell.ob iplib.ob ipassign.ob ipconv.ob ipprint.ob\
497     polys.ob polys0.ob polys1.ob polys-impl.ob extra.ob\
498     mminit.ob sing_dld.ob sing_dbm.ob silink.ob \
499     sing_mp.ob fglm.ob fglmzero.ob fglmvec.ob fglmgauss.ob fglmhom.ob\
500     algmap.ob clapconv.ob  clapmem.ob clapsing.ob \
501     cntrlc.ob  \
502     mpsr_Error.ob mpsr_Put.ob mpsr_PutPoly.ob mpsr_GetPoly.ob \
503     mpsr_Get.ob mpsr_GetMisc.ob \
504     ndbm.ob spSpolyLoop.ob libparse.ob
505
506OBJB2= mmalloc.ob mmallocb.ob mmallocs.ob mmblock.ob \
507     mmspec.ob mmutil.ob weight0.ob find_exec.ob getopt.ob
508
509OBJB=$(OBJB1) $(OBJB2) claptmpl.ob
510
511##
512## profile targets
513##
514
515## for gprof
516claptmpl.op: claptmpl.cc mod2.h
517        $(CXXP)  ${CXXFLAGSP} ${CPPFLAGS} ${DEFSP} -c $< -o $@
518
519$(OBJP1): %.op: %.cc
520        $(CXXP) ${CXXFLAGSP} ${CXXTEMPLFLAGSP} ${CPPFLAGS} ${DEFSP} -c $< -o $@
521
522$(OBJP2): %.op: %.c
523        $(CCP)  ${CFLAGSP} ${CPPFLAGS} ${DEFSP} -c $< -o $@
524
525Singularp: scanner.cc $(OBJP) iparith.op mpsr_Tok.op tesths.cc version.h
526        $(CXXP) ${CXXFLAGSP} ${CPPFLAGS} ${DEFSP} -o Singularp \
527        tesths.cc iparith.op mpsr_Tok.op $(OBJP) ${LDFLAGSP} ${LIBS}
528
529iparith.op: iparith.inc iparith.cc
530        $(CXXP)  ${CXXFLAGSP} ${CPPFLAGS} ${DEFSP} -c iparith.cc -o iparith.op
531
532mpsr_Tok.op: iparith.inc mpsr_Tok.cc
533        $(CXXP) ${CXXFLAGSP} ${CPPFLAGS} ${DEFSP} -c mpsr_Tok.cc -o mpsr_Tok.op
534
535## for pbrof
536claptmpl.ob: claptmpl.cc mod2.h
537        $(CXXP)  ${CXXFLAGSB} ${CPPFLAGS} ${DEFSB} -c $< -o $@
538
539$(OBJB1): %.ob: %.cc
540        $(CXXP) ${CXXFLAGSB} ${CXXTEMPLFLAGSB} ${CPPFLAGS} ${DEFSB} -c $< -o $@
541
542$(OBJB2): %.ob: %.c
543        $(CCP)  ${CFLAGSB} ${CPPFLAGS} ${DEFSB} -c $< -o $@
544
545Singularb: scanner.cc $(OBJB) iparith.ob mpsr_Tok.ob tesths.cc version.h
546        $(CXXP) ${CXXFLAGSB} ${CPPFLAGS} ${DEFSB} -o Singularb \
547        tesths.cc iparith.ob mpsr_Tok.ob $(OBJB)  $(BPROFOBJ) \
548        ${LDFLAGSB} ${LIBS}
549
550iparith.ob: iparith.inc iparith.cc
551        $(CXXP)  ${CXXFLAGSB} ${CPPFLAGS} ${DEFSB} -c iparith.cc -o iparith.ob
552
553mpsr_Tok.ob: iparith.inc mpsr_Tok.cc
554        $(CXXP) ${CXXFLAGSB} ${CPPFLAGS} ${DEFSB} -c mpsr_Tok.cc -o mpsr_Tok.ob
555
556
557installp: Singularp
558        ${MKINSTALLDIRS} ${bindir}
559        ${INSTALL_PROGRAM} Singularp ${bindir} 
560
561
562##
563## dependencies
564##
565%.dd: %.cc mod2.h
566        echo $(@:.dd=.og) $(@:.dd=.op) $(@:.dd=.ob) " " \\ > $@
567        $(CXXM) -DGENTABLE ${CPPFLAGS} ${DEFSG} $< >> $@
568
569%.d: %.c mod2.h
570        echo $(@:.d=.og) $(@:.d=.op) $(@:.d=.ob) " " \\ > $@
571        $(CCM) ${CPPFLAGS} ${DEFSG} $< >> $@
572
573depend: $(CXXSOURCES:.cc=.dd) $(CSOURCES:.c=.d) mod2.h
574        cat *.d *.dd >depend
575
576#include $(SOURCES:.cc=.dd) $(CSOURCES:.c=.d)
577#include *.d *.dd
578ifeq (depend,$(wildcard depend))
579include depend
580endif
581
582
Note: See TracBrowser for help on using the repository browser.