source: git/Singular/Makefile.in @ 65b27c

spielwiese
Last change on this file since 65b27c was 65b27c, checked in by Mathias Schulze <mschulze@…>, 23 years ago
*mschulze: jordan and gaussman use eigenval now git-svn-id: file:///usr/local/Singular/svn/trunk@5311 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 27.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@
57SFLAGS          = @SFLAGS@
58SLDFLAGS        = @SLDFLAGS@
59
60LD_LIBC         = -lc
61STATIC_LDFLAGS  = @STATIC_LDFLAGS@
62# under cygwin, do not explicitly link against -lm, for it is the cygwin
63# lib -- if you really want to do this, use -lm as the _last_ thing on the
64# arguments to link
65ifneq ($(SINGUNAME),ix86-Win)
66LIBS            = -lm @NEED_LIBS@
67else
68LIBS            = -lsingfac -lsingcf -lgmp -static -lgdbm -lreadline -lncurses
69endif
70MP_LIBS         = @MP_LIBS@
71DL_KERNEL       = @DL_KERNEL@
72HAVE_MPSR       = @HAVE_MPSR@
73
74ifdef LD_STATIC
75LDFLAGS  := ${STATIC_LDFLAGS} ${LDFLAGS}
76SING_EXEC = Singular-static
77LIBS := ${MP_LIBS} ${LIBS}
78DL_KERNEL =
79else
80LDFLAGS  := ${LD_DYN_FLAGS} ${LDFLAGS}
81SING_EXEC = Singular
82endif
83
84# CXXFLAGS =  -g -Wall -Wno-unused
85# CFLAGS =  -g -Wall -Wno-unused
86##
87## End configuration dependend stuff
88#################################################################
89
90###
91### file sets
92###
93
94# normal C++ source files
95CXXSOURCES=grammar.cc scanner.cc algmap.cc attrib.cc clapconv.cc \
96    clapsing.cc cntrlc.cc mminit.cc\
97    extra.cc febase.cc feread.cc fehelp.cc feResource.cc feOpt.cc \
98    ffields.cc hdegree.cc hilb.cc hutil.cc \
99    gring.cc gr_kstd2.cc\
100    ideals.cc intvec.cc \
101    ipassign.cc ipconv.cc ipid.cc iplib.cc \
102    ipprint.cc ipshell.cc khstd.cc kstdfac.cc \
103    kstd1.cc kstd2.cc kutil.cc lists.cc \
104    longalg.cc longrat.cc longrat0.cc \
105    maps.cc matpol.cc misc.cc sdb.cc gnumpfl.cc gnumpc.cc \
106    modulop.cc mpr_complex.cc sparsmat.cc \
107    fglm.cc fglmzero.cc fglmvec.cc fglmgauss.cc fglmhom.cc fglmcomb.cc \
108    numbers.cc polys.cc p_polys.cc polys0.cc polys1.cc polys-impl.cc \
109    ring.cc shortfl.cc silink.cc kspoly.cc \
110    subexpr.cc syz.cc syz0.cc syz1.cc syz2.cc syz3.cc\
111    timer.cc weight.cc \
112    GMPrat.cc multicnt.cc npolygon.cc semic.cc spectrum.cc splist.cc \
113    libparse.cc mod_raw.cc sing_win.cc\
114    pcv.cc units.cc eigenval.cc kbuckets.cc sbuckets.cc\
115    mpr_inout.cc mpr_base.cc mpr_numeric.cc \
116    prCopy.cc p_Mult_q.cc \
117    pDebug.cc pInline2.cc pInline1.cc pInline0.cc \
118    pShallowCopyDelete.cc
119
120# stuff for MP
121MPSR_SOURCES = mpsr_Put.cc mpsr_PutPoly.cc mpsr_GetPoly.cc mpsr_sl.cc\
122        mpsr_Get.cc mpsr_GetMisc.cc mpsr_Error.cc \
123
124
125# stuff for dbm
126DBMSR_SOURCES =  ndbm.cc sing_dbm.cc
127
128# normal C source files
129CSOURCES=weight0.c fegetopt.c fereadl.c page.c dError.c mmstd.c
130
131# C++ sources which are used if part of the kernel are dynamically linked
132DL_KERNEL_SOURCES=p_Procs_Dynamic.cc slInit_Dynamic.cc
133
134# C++ sources which are used for dynamic libraries if part of the kernel is
135# dynamically linked
136DL_LIB_SOURCES=p_Procs_Lib.cc
137
138# C++ sources which are used if no parts of the kernel are dynamically linked
139STATIC_SOURCES=p_Procs_Static.cc slInit_Static.cc
140
141# C++ sources for which both, shared and static object files are needed
142COMMON_SOURCES = $(MPSR_SOURCES) $(DBMSR_SOURCES)
143
144# special C++ source files (need extra compiling and/or linking), for which
145# dependencies should be generated
146ESOURCES=mmalloc.cc iparith.cc $(COMMON_SOURCES) \
147        $(DL_KERNEL_SOURCES) $(DL_LIB_SOURCES) $(STATIC_SOURCES)
148
149SOURCES=${CSOURCES} ${CXXSOURCES} \
150        grammar.y scanner.l libparse.l syz2.cc prCopyTemplate.cc \
151        p_Delete__Template.cc p_ShallowCopyDelete__Template.cc \
152        p_Copy__Template.cc p_Mult_nn__Template.cc  pp_Mult_nn__Template.cc \
153        pp_Mult_mm__Template.cc p_Mult_mm__Template.cc \
154        p_Minus_mm_Mult_qq__Template.cc p_Add_q__Template.cc \
155        p_Neg__Template.cc pp_Mult_Coeff_mm_DivSelect__Template.cc \
156        pp_Mult_Coeff_mm_DivSelectMult__Template.cc \
157        p_Merge_q__Template.cc pp_Mult_mm_Noether__Template.cc\
158        p_kBucketSetLm__Template.cc \
159        kInline.cc utils.cc utils.h febase.inc \
160        tesths.cc mpsr_Tok.cc claptmpl.cc
161
162HEADERS=algmap.h hutil.h lists.h stairc.h attrib.h ideals.h \
163        longalg.h mpsr_Tok.h structs.h intvec.h longrat.h \
164        numbers.h stype.h clapconv.h ipconv.h maps.h page.h \
165        subexpr.h clapsing.h ipid.h matpol.h polys.h p_polys.h syz.h \
166        cntrlc.h ipprint.h ring.h timer.h sdb.h dError.h \
167        febase.h ipshell.h shortfl.h tok.h mpr_complex.h mpr_global.h \
168        page.h gring.h \
169        ffields.h khstd.h silink.h sparsmat.h gnumpfl.h gnumpc.h \
170        fglm.h kstd1.h modulop.h sing_dbm.h weight.h \
171        fglmgauss.h fglmvec.h mpsr.h mpsr_sl.h\
172        kstdfac.h mpsr_Get.h kmatrix.h\
173        kutil.h mpsr_Put.h\
174        ndbm.h dbm_sl.h polys-impl.h libparse.h \
175        GMPrat.h multicnt.h npolygon.h semic.h spectrum.h splist.h multicnt.h \
176        pcv.h units.h eigenval.h mod_raw.h kbuckets.h sbuckets.h\
177        mpr_global.h mpr_inout.h mpr_base.h mpr_numeric.h \
178        feOpt.h fegetopt.h distrib.h walk.h \
179        prCopy.h prCopyMacros.h \
180        p_MemAdd.h p_MemCopy.h p_MemCmp.h p_Numbers.h \
181        pInline2.h pInline1.h pInline0.h mmalloc.h static.h\
182        omSingularConfig.h pShallowCopyDelete.h \
183        p_Procs_Dynamic.h p_Procs_Impl.h p_Procs_Set.h \
184        p_Procs.h p_Procs_Static.h p_Mult_q.h
185
186DISTFILES=${SOURCES} ${HEADERS} ${ESOURCES} \
187        Makefile.in configure.in configure \
188        mod2.h.in grammar.h testgh install-sh mkinstalldirs \
189        check_aso.pl prCopy.pl
190
191OBJS := $(CXXSOURCES:.cc=.o) $(CSOURCES:.c=.o)
192
193ifeq ($(SINGUNAME),ix86-Win)
194OBJS := $(OBJS) Singular_res.o
195endif
196
197P_PROCS_MODULES = FieldZp FieldIndep FieldQ FieldGeneral
198
199ifeq ($(DL_KERNEL),1)
200OBJS    := $(OBJS) $(DL_KERNEL_SOURCES:.cc=.o)
201DBMSR_SO= dbmsr.so
202DL_LIBS := $(P_PROCS_MODULES:%=p_Procs_%.so) $(DBMSR_SO)
203ifeq ($(HAVE_MPSR), 1)
204MPSR_SO =       mpsr.so
205DL_LIBS :=      $(DL_LIBS) $(MPSR_SO)
206endif
207else
208ifndef LD_STATIC
209LIBS := $(MP_LIBS) $(LIBS)
210endif
211OBJS := $(OBJS) $(STATIC_SOURCES:.cc=.o) $(COMMON_SOURCES:.cc=.o)
212DL_LIBS=
213endif
214
215#
216# Singular libraries which go into distribution
217# MAKE SURE THAT THIS IS UP_TO_DATE
218#
219SLIBS = ainvar.lib   algebra.lib   all.lib       brnoeth.lib    classify.lib \
220        deform.lib   elim.lib      equising.lib  finvar.lib     gaussman.lib \
221        general.lib  graphics.lib  hnoether.lib  homolog.lib    inout.lib \
222        intprog.lib  latex.lib     linalg.lib    makedbm.lib    matrix.lib \
223        mondromy.lib mregular.lib  normal.lib    ntsolve.lib    paramet.lib \
224        poly.lib     presolve.lib  primdec.lib   primitiv.lib   qhmoduli.lib \
225        random.lib   reesclos.lib  ring.lib      rinvar.lib     sing.lib \
226        solve.lib    spcurve.lib   spectrum.lib  standard.lib   stratify.lib \
227        surf.lib     toric.lib     triang.lib    zeroset.lib
228
229SLIBS_FILES = $(addprefix LIB/,${SLIBS})
230
231GFTABLES = $(wildcard LIB/gftables/[1-9]*)
232
233##
234## Build Targets
235##
236.l.cc:
237        @if test "x${LEX}" = x; then \
238                echo Error: no lex given, could not rebuilt scanner.cc;\
239                exit 1; \
240        fi
241        ${LEX} -s -I -t $< > scanner.cc
242.y.cc:
243        @if test "x${BISON}" = x; then \
244                echo Error: no bison given, could not rebuilt grammar.cc;\
245                exit 1; \
246        fi
247        ${BISON} -d -t -o grammar.cc $<
248        chmod +x testgh
249        ./testgh
250
251.cc.o: 
252        ${CXX} ${CXXFLAGS} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFS} -c $<
253.c.o:
254        ${CC} ${CFLAGS} ${CPPFLAGS} ${DEFS} -c $<
255
256# building objects for shared libraries
257p_Procs_Lib_%.dl_o : p_Procs_Lib.cc p_Procs_Dynamic.o
258        ${CXX} ${CXXFLAGS} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFS} ${SFLAGS} -Dp_Procs_$* -c $< -o $@
259
260%.dl_o : %.cc
261        ${CXX} ${CXXFLAGS} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFS} ${SFLAGS} -c $< -o $@
262
263
264all:    $(SING_EXEC)
265
266Singular-static: version.h
267        sleep 1
268        echo "#define HAVE_STATIC" > static.h
269        ${MAKE} LD_STATIC=1 S_EXT="-static" Singular-static
270        echo "#undef HAVE_STATIC" > static.h
271
272Singular${S_EXT}: mod2.h Makefile version.h scanner.cc  ${OBJS} mmalloc.o \
273          iparith.o tesths.cc libparse.cc claptmpl.o mpsr_Tok.o $(DL_LIBS)
274        ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${CXXTEMPLFLAGS} ${DEFS} \
275          -o Singular${S_EXT} \
276          tesths.cc iparith.o mpsr_Tok.o claptmpl.o\
277          ${OBJS} ${LDFLAGS} ${LIBS} -lomalloc_ndebug mmalloc.o
278
279%.static: version.h
280        ${MAKE} DL_KERNEL=0 S_EXT=".static" $@
281
282iparith.o mpsr_Tok.o : iparith.inc mpsr_Tok.inc
283
284cntrlc.o cntrlc.og : feOptES.inc feOptTS.inc feOpt.inc
285
286p_Procs_Lib.o: p_Procs_Lib.inc
287
288claptmpl.o: claptmpl.cc mod2.h
289        ${CXX} ${CXXFLAGS}  ${CPPFLAGS} ${DEFS} -c $<   
290
291iparith.inc mpsr_Tok.inc: claptmpl.o iparith.cc mmalloc.o\
292                          ipconv.cc tok.h mpsr_Tok.cc grammar.h mod2.h
293        ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${CXXTEMPLFLAGS} ${DEFS} -DGENTABLE \
294             -o gentable claptmpl.o iparith.cc tesths.cc mpsr_Tok.cc \
295             ${OBJS} ${LDFLAGS} ${LIBS} -lomalloc_ndebug mmalloc.o
296        ./gentable
297        /bin/rm -f gentable gentable.exe
298
299
300version.h: ${SOURCES} ${HEADERS} Makefile.in mod2.h.in \
301           configure.in
302        echo "#define feVersionId "  `date '+%Y%m%d%H'` >version.h
303
304libparse: libparse_main.o utils.o fegetopt.o febase.cc
305        ${CXX}  -DSTANDALONE_PARSER -o libparse febase.cc libparse_main.o utils.o fegetopt.o
306
307libparse_main.o: libparse.cc
308        ${CXX} -c -o libparse_main.o libparse.cc  -DSTANDALONE_PARSER
309
310libparse.cc: libparse.l
311        @if test "x${LEX}" = x; then \
312                echo Error: no lex given, could not rebuilt libparse.cc;\
313                exit 1; \
314        fi
315        ${LEX} -I -Pyylp -olibparse.cc libparse.l
316
317# Hmm compiling with -fomit-frame-pointer resulted in access violation
318# under cygwin
319ESingular: fegetopt.o feResource.cc mod2.h feOpt.cc version.h emacs.cc \
320           feOptES.inc mmalloc.o
321        ${CXX} -O2 ${CPPFLAGS} ${DEFS} -DESINGULAR -o ESingular emacs.cc fegetopt.o \
322        ${LDFLAGS} ${LIBS} -lomalloc_ndebug mmalloc.o
323
324TSingular: fegetopt.o feResource.cc mod2.h feOpt.cc version.h emacs.cc \
325           feOptTS.inc mmalloc.o
326        ${CXX} -O2 ${CPPFLAGS} ${DEFS} -DTSINGULAR -o TSingular emacs.cc fegetopt.o \
327        ${LDFLAGS}  ${LIBS} -lomalloc_ndebug mmalloc.o
328
329feOpt.o: feOpt.inc feOptES.inc feOptTS.inc
330
331feOpt.inc: feOpt.cc mod2.h feOpt.h
332        $(CXX) -DGENERATE_OPTION_INDEX feOpt.cc -o feOpt
333        ./feOpt
334        /bin/rm -f feOpt feOpt.exe
335
336feOptES.inc: feOpt.cc mod2.h feOpt.h
337        $(CXX) -DGENERATE_OPTION_INDEX  -DESINGULAR feOpt.cc -o feOpt
338        ./feOpt
339        rm -f feOpt feOpt.exe
340
341feOptTS.inc: feOpt.cc mod2.h feOpt.h
342        $(CXX) -DGENERATE_OPTION_INDEX  -DTSINGULAR feOpt.cc -o feOpt
343        ./feOpt
344        rm -f feOpt feOpt.exe
345
346prCopy.o: prCopy.inc
347
348prCopy.inc : prCopyMacros.h prCopyTemplate.cc prCopy.pl
349        $(PERL) prCopy.pl > prCopy.inc
350
351# additional dependencies for p_Procs_[Static|Dynamic|Lib].cc
352p_Procs_Static.o: p_Procs_Static.inc
353p_Procs_Static.inc: p_Procs_Static.h
354p_Procs_Dynamic.o p_Procs_Lib.o: p_Procs_Dynamic.inc
355p_Procs_Dynamic.inc p_Procs_Lib.inc: p_Procs_Dynamic.h
356
357# here is how p_Procs_[Static|Dynamic].inc is generated
358p_Procs_%.inc: p_Procs_Generate.cc p_Procs_Impl.h mod2.h
359        $(CXX) -g -Wall -Dp_Procs_$* p_Procs_Generate.cc -o p_Procs_$*
360        ./p_Procs_$* > p_Procs_$*.inc
361        -rm -f p_Procs_$* p_Procs_$*.exe
362
363p_Procs_%.so: p_Procs_Lib_%.dl_o
364        ${CXX} ${CXXFLAGS} ${SFLAGS} ${SLDFLAGS} $< -o $@
365
366mpsr.so: $(MPSR_SOURCES:.cc=.dl_o)
367        ${CXX} ${CXXFLAGS} ${SFLAGS} ${SLDFLAGS} ${LDFLAGS} -o $@ $^ ${MP_LIBS}
368
369dbmsr.so: $(DBMSR_SOURCES:.cc=.dl_o)
370        ${CXX} ${CXXFLAGS} ${SFLAGS} ${SLDFLAGS} ${LDFLAGS} -o $@ $^ ${MP_LIBS}
371
372src: scanner.cc grammar.h grammar.cc libparse.cc
373
374mod2.h: stamp-h
375
376stamp-h : config.status mod2.h.in
377        CONFIG_FILES= CONFIG_HEADERS="mod2.h" ./config.status
378
379Makefile: Makefile.in config.status
380        CONFIG_FILES="Makefile" CONFIG_HEADERS= ./config.status
381
382config.status: configure
383        ./config.status --recheck
384
385configure: configure.in
386        @echo "WARNING: You need to rerun autoconf. I am proceeding, for now."
387        @touch configure
388#       autoconf
389
390ifeq ($(SINGUNAME),ix86-Win)
391##
392## windows only targets
393##
394
395## resources
396Singular.rc: Singular.rc.in config.status
397        CONFIG_FILES="Singular.rc" CONFIG_HEADERS= ./config.status
398
399ESingular_res.o: Singular.rc
400        windres -DESINGULAR -i Singular.rc -o ESingular_res.o
401
402TSingular_res.o: Singular.rc
403        windres -DTSINGULAR -i Singular.rc -o TSingular_res.o
404
405Singular_res.o: Singular.rc
406        windres -DSINGULAR -i Singular.rc -o Singular_res.o
407
408## run
409run.o: run.c run.h
410        gcc -c -I. -O2 run.c -o run.o
411
412runTSingular : run.o TSingular_res.o
413        gcc -mwindows -e _mainCRTStartup run.o TSingular_res.o -o runTSingular.exe
414
415runESingular : run.o ESingular_res.o
416        gcc -mwindows -e _mainCRTStartup run.o ESingular_res.o -o runESingular.exe
417
418RUN_SINGULARS=runESingular runTSingular
419
420endif
421
422##
423## install targets
424##
425install: all installbin installslib
426
427installbin: ${SING_EXEC} libparse ESingular TSingular ${RUN_SINGULARS}
428        ${MKINSTALLDIRS} ${bindir}
429        ${INSTALL_PROGRAM} ${SING_EXEC} ${SINGULAR}
430        ${INSTALL_PROGRAM} libparse ${RUN_SINGULARS} ${bindir}
431        ${INSTALL_PROGRAM} ESingular ${bindir}
432        ${INSTALL_PROGRAM} TSingular ${bindir}
433        ${INSTALL_PROGRAM} ${DL_LIBS} ${bindir}
434        chmod a+x ${SINGULAR}
435        rm -f ${bindir}/${SING_EXEC}${EXEC_EXT}
436        cd ${bindir}; ${LN_S} ${SINGULAR} Singular${EXEC_EXT};
437
438installslib: LIB
439        test -r ${slibdir} || ${LN_S} `pwd`/LIB ${slibdir}
440
441
442uninstall: uninstallbin
443
444uninstallbin:
445        rm -f ${bindir}/Singular${EXEC_EXT}
446        rm -f ${SINGULAR}
447        -rmdir ${bindir}
448
449##
450## clean targest
451##
452mostlyclean:
453        -rm -f Singular Singular-static Singulara Singularg Singularp Singularb libparse feOpt*.inc p_Procs_*.inc
454        -rm -f *.o *.og core *.op *.ob *.ot Singulart *.od *_d.cc *_d.c p_Procs *.oa *.dl_o* *.so*
455        -rm -f ESingular* TSingular*
456
457clean: mostlyclean
458        -rm -f *.bak *.d *.dd depend
459        -rm -f ${slibdir}
460
461distclean: clean
462        -rm -f iparith.inc mpsr_Tok.inc stamp.h
463        -rm -f Singular* *.gprof *.bprof *~ .\#* version.h
464        -rm -f mod2.h Makefile TAGS* tags config.status config.cache config.log
465
466srcclean:
467        @echo "This command is intended for maintainers to use;"
468        @echo "Rebuilding the deleted files requires flex"
469        @echo "bison, perl"
470        -rm -f scanner.cc grammar.h grammar.cc libparse.cc
471
472maintainer-clean: distclean srcclean
473        @echo "This command is intended for maintainers to use;"
474        @echo "Rebuilding the deleted files requires flex"
475        @echo "bison, perl and autoconf"
476        -rm configure
477
478##
479## miscellanous targets
480##
481
482install-bindist: $(HEADERS) $(SOURCES) Makefile depend
483        echo "#define MAKE_DISTRIBUTION " > distrib.h
484        sleep 1
485        ${MAKE} ${SING_EXEC} ESingular TSingular libparse ${RUN_SINGULARS}
486        ${MKINSTALLDIRS} ${install_bindir}
487        ${INSTALL_PROGRAM} -s  ${SING_EXEC} ${install_bindir}/Singular
488        ${INSTALL_PROGRAM} -s  libparse ${RUN_SINGULARS} ESingular TSingular ${install_bindir}
489        echo "#undef MAKE_DISTRIBUTION " > distrib.h
490        ${INSTALL_PROGRAM} ${DL_LIBS} ${install_bindir}
491
492install-sharedist: ${SLIBS_FILES} LIB/gftables
493        ${MKINSTALLDIRS} ${install_slibdir}
494        cp ${SLIBS_FILES} ${install_slibdir}
495        ${MKINSTALLDIRS} ${install_slibdir}/gftables
496        cp ${GFTABLES} ${install_slibdir}/gftables
497        chmod -R +rX ${install_slibdir}/*
498
499tar:
500        tar cf Singular-${SINGULAR_VERSION}-src.tar ${DISTFILES}
501        gzip -f Singular-${SINGULAR_VERSION}-src.tar
502
503backup: tar
504        mcopy -o Singular-${SINGULAR_VERSION}-src.tar.gz a:
505
506TAGS:   ${SOURCES} ${ESOURCES} ${HEADERS}
507        etags ${SOURCES} ${ESOURCES} ${HEADERS}
508
509tags:   
510        ctags *.y *.l *.c *.h *.cc *.inc
511
512echoLIBS:
513        @echo ${SLIBS}
514
515##
516## Below here is stuff for developpers
517#################################################################
518
519
520##
521## .og files for having -O and -g object versions available at the same time
522##
523
524OBJG1 := $(CXXSOURCES:.cc=.og)
525OBJG2 := $(CSOURCES:.c=.og)
526
527OBJP1 := $(CXXSOURCES:.cc=.op)
528OBJP2 := $(CSOURCES:.c=.op)
529
530OBJB1 := $(CXXSOURCES:.cc=.ob)
531OBJB2 := $(CSOURCES:.c=.ob)
532
533OBJT1 := $(CXXSOURCES:.cc=.ot)
534OBJT2 := $(CSOURCES:.c=.ot)
535
536OBJA1 := $(CXXSOURCES:.cc=.oa)
537OBJA2 := $(CSOURCES:.c=.oa)
538
539
540OBJG=$(OBJG1) $(OBJG2)
541OBJP=$(OBJP1) $(OBJP2)
542OBJB=$(OBJB1) $(OBJB2)
543OBJT=$(OBJT1) $(OBJT2)
544OBJA=$(OBJA1) $(OBJA2)
545
546DL_TAILG=\"sog\"
547DL_TAILP=\"sop\"
548DL_TAILB=\"sob\"
549DL_TAILT=\"sot\"
550DL_TAILA=\"soa\"
551
552
553ifeq ($(DL_KERNEL),1)
554
555OBJG := $(OBJG) $(DL_KERNEL_SOURCES:.cc=.og)
556DL_LIBSG := $(P_PROCS_MODULES:%=p_Procs_%.sog) $(MPSR_SO:%.so=%.sog) $(DBMSR_SO:%.so=%.sog)
557
558OBJP := $(OBJP) $(DL_KERNEL_SOURCES:.cc=.op)
559DL_LIBSP := $(P_PROCS_MODULES:%=p_Procs_%.sop) $(MPSR_SO:%.so=%.sop) $(DBMSR_SO:%.so=%.sop)
560
561OBJB := $(OBJB) $(DL_KERNEL_SOURCES:.cc=.ob)
562DL_LIBSB := $(P_PROCS_MODULES:%=p_Procs_%.sob) $(MPSR_SO:%.so=%.sob) $(DBMSR_SO:%.so=%.sob)
563
564OBJT := $(OBJT) $(DL_KERNEL_SOURCES:.cc=.ot)
565DL_LIBST := $(P_PROCS_MODULES:%=p_Procs_%.sot) $(MPSR_SO:%.so=%.sot) $(DBMSR_SO:%.so=%.sot)
566
567OBJA := $(OBJA) $(DL_KERNEL_SOURCES:.cc=.oa)
568DL_LIBSA := $(P_PROCS_MODULES:%=p_Procs_%.soa) $(MPSR_SO:%.so=%.soa) $(DBMSR_SO:%.so=%.soa)
569
570else
571
572OBJG := $(OBJG) $(STATIC_SOURCES:.cc=.og) $(COMMON_SOURCES:.cc=.og)
573DL_LIBSG=
574
575OBJP := $(OBJP) $(STATIC_SOURCES:.cc=.op) $(COMMON_SOURCES:.cc=.op)
576DL_LIBSP=
577
578OBJB := $(OBJB) $(STATIC_SOURCES:.cc=.ob) $(COMMON_SOURCES:.cc=.ob)
579DL_LIBSB=
580
581OBJT := $(OBJT) $(STATIC_SOURCES:.cc=.ot) $(COMMON_SOURCES:.cc=.ot)
582DL_LIBST=
583
584OBJA := $(OBJA) $(STATIC_SOURCES:.cc=.oa) $(COMMON_SOURCES:.cc=.oa)
585DL_LIBST=
586
587endif
588
589
590##
591## compiler and linker options for debug version
592##
593
594CCG             = gcc
595CXXG            = gcc
596CXXM            = gcc -MM -MG -DGENERATE_DEPEND
597CCM             = gcc -MM -MG -DGENERATE_DEPEND
598
599CFLAGSG         = -g -Wall -Wno-unused ${PIPE}
600CXXFLAGSG       = -g -Wall -Wno-unused ${PIPE}
601CXXTEMPLFLAGSG  = -fno-implicit-templates
602DEFSG           = -D@SING_UNAME@ @DEFS@ -DDL_TAIL=$(DL_TAILG)
603
604##
605## Debug Targets
606##
607
608p_Procs_%.sog: p_Procs_Lib_%.dl_og
609        ${CXXG} ${CXXFLAGSG} ${SFLAGS} ${SLDFLAGS} $< -o $@
610
611p_Procs_Lib_%.dl_og : p_Procs_Lib.cc  p_Procs_Dynamic.og
612        ${CXXG} ${CXXFLAGSG} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFSG} ${SFLAGS} -Dp_Procs_$* -c $< -o $@
613
614%.dl_og: %.cc
615        ${CXXG} ${CXXFLAGSG} ${CXXTEMPLFLAGSG} ${CPPFLAGS} ${DEFSG} ${SFLAGS} -c $< -o $@
616
617mpsr.sog: $(MPSR_SOURCES:.cc=.dl_og)
618        ${CXXG} ${CXXFLAGSG} ${SFLAGS} ${SLDFLAGS} ${LDFLAGS} -o $@ $^ ${MP_LIBS}
619
620dbmsr.sog: $(DBMSR_SOURCES:.cc=.dl_og)
621        ${CXXG} ${CXXFLAGSG} ${SFLAGS} ${SLDFLAGS} ${LDFLAGS} -o $@ $^ ${MP_LIBS}
622
623claptmpl.og: claptmpl.cc mod2.h
624        $(CXXG)  ${CXXFLAGSG} ${CPPFLAGS} ${DEFSG} -c $< -o $@
625
626%.og: %.cc
627        $(CXXG) ${CXXFLAGSG} ${CXXTEMPLFLAGSG} ${CPPFLAGS} ${DEFSG} -c $< -o $@
628
629$(OBJG2) : %.og: %.c
630        $(CCG)  ${CFLAGSG} ${CPPFLAGS} ${DEFSG} -c $< -o $@
631
632Singularg${S_EXT}: scanner.cc  $(OBJG)  mmalloc.og $(DL_LIBSG)\
633           iparith.og mpsr_Tok.og claptmpl.og tesths.cc version.h
634        $(CXXG) ${CXXFLAGSG} ${CXXTEMPLFLAGSG} ${CPPFLAGS} ${DEFSG} -o Singularg${S_EXT} \
635        tesths.cc iparith.og mpsr_Tok.og claptmpl.og $(OBJG) ${LDFLAGS} ${LIBS} -lomalloc mmalloc.og \
636        ${LD_DYN_FLAGS} ${LD_LIBC}
637
638iparith.og: iparith.inc iparith.cc
639        $(CXXG)  ${CXXFLAGSG} ${CXXTEMPLFLAGSG} ${CPPFLAGS} ${DEFSG} -c iparith.cc -o iparith.og
640
641mpsr_Tok.og: iparith.inc mpsr_Tok.cc
642        $(CXXG) ${CXXFLAGSG} ${CPPFLAGS} ${CXXTEMPLFLAGSG} ${DEFSG} -c mpsr_Tok.cc -o mpsr_Tok.og
643
644installg: Singularg
645        ${MKINSTALLDIRS} ${bindir}
646        ${INSTALL_PROGRAM} Singularg ${bindir} 
647
648ESingularg: fegetopt.og feResource.cc mod2.h feOpt.cc version.h emacs.cc \
649           feOptES.inc mmalloc.og
650        ${CXXG} ${CXXFLAGSG} ${CPPFLAGS} -DESINGULAR -g ${DEFSG} -o ESingularg emacs.cc fegetopt.og ${LDFLAGS} ${LIBS} -lomalloc mmalloc.og
651
652##
653## compiler and linker options for profile version
654##
655
656CCP             = gcc
657CXXP            = gcc
658
659CFLAGSP         = -pg -O3 ${PIPE}
660CXXFLAGSP       = -pg -O3 ${PIPE}
661CXXTEMPLFLAGSP  = -fno-implicit-templates
662DEFSP           = -DNDEBUG -DOM_NDEBUG -DDO_PROFILE -D@SING_UNAME@ @DEFS@ -DDL_TAIL=$(DL_TAILP)
663LDFLAGSP        = -static @LDFLAGS@
664
665CFLAGSB         = -g -O3 ${PIPE}
666CXXFLAGSB       = -g -O3 ${PIPE}
667CXXTEMPLFLAGSB  = -fno-implicit-templates
668DEFSB           = -D@SING_UNAME@ -DOM_NDEBUG -DNDEBUG @DEFS@ -DDL_TAIL=$(DL_TAILB)
669LDFLAGSB        = -static @LDFLAGS@
670
671# bprof object  file to link with
672BPROFOBJ        = /usr/local/lib/bmon.o
673
674DEFST           = -DNO_INLINE -DNDEBUG -D@SING_UNAME@ -DOM_TRACK=2 -DOM_CHECK=0 @DEFS@ -DDL_TAIL=$(DL_TAILT)
675LDFLAGST        = @LDFLAGS@
676CFLAGST         = -g  -O2 -w ${PIPE}
677CXXFLAGST       = -g  -O2 -w ${PIPE}
678
679##
680## op and ob files for gprof and bprof, ot for mtrack, oc for OMCHECK=1
681##
682
683
684##
685## profile targets
686##
687
688## for gprof
689p_Procs_%.sop: p_Procs_Lib_%.dl_op
690        ${CXXP} ${CXXFLAGSP} ${SFLAGS} ${SLDFLAGS} $< -o $@
691
692p_Procs_Lib_%.dl_op : p_Procs_Lib.cc p_Procs_Dynamic.op
693        ${CXXP} ${CXXFLAGS} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFS} ${SFLAGS} -Dp_Procs_$* -c $< -o $@
694
695%.dl_op: %.cc
696        ${CXXP} ${CXXFLAGSP} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFSP} ${SFLAGS} -c $< -o $@
697
698
699mpsr.sop: $(MPSR_SOURCES:.cc=.dl_op)
700        ${CXXP} ${CXXFLAGSP} ${SFLAGS} ${SLDFLAGS} ${LDFLAGS} -o $@ $^ ${MP_LIBS}
701
702dbmsr.sop: $(DBMSR_SOURCES:.cc=.dl_op)
703        ${CXXP} ${CXXFLAGSP} ${SFLAGS} ${SLDFLAGS} ${LDFLAGS} -o $@ $^ ${MP_LIBS}
704
705claptmpl.op: claptmpl.cc mod2.h
706        $(CXXP)  ${CXXFLAGSP} ${CPPFLAGS} ${DEFSP} -c $< -o $@
707
708%.op: %.cc
709        $(CXXP) ${CXXFLAGSP} ${CXXTEMPLFLAGSP} ${CPPFLAGS} ${DEFSP} -c $< -o $@
710
711$(OBJP2) : %.op: %.c
712        $(CCP)  ${CFLAGSP} ${CPPFLAGS} ${DEFSP} -c $< -o $@
713
714Singularp${S_EXT}: scanner.cc   $(OBJP) mmalloc.op\
715           iparith.op mpsr_Tok.op claptmpl.op tesths.cc version.h $(DL_LIBSP)
716        $(CXXP) ${CXXFLAGSP} ${CXXTEMPLFLAGSP} ${CPPFLAGS} ${DEFSP} -o Singularp${S_EXT} \
717        tesths.cc iparith.op mpsr_Tok.op claptmpl.op $(OBJP) ${LDFLAGSP} ${LIBS} -lomalloc_p mmalloc.op\
718        ${LD_DYN_FLAGS}
719
720iparith.op: iparith.inc iparith.cc
721        $(CXXP)  ${CXXFLAGSP} ${CXXTEMPLFLAGSP} ${CPPFLAGS} ${DEFSP} -c iparith.cc -o iparith.op
722
723mpsr_Tok.op: iparith.inc mpsr_Tok.cc
724        $(CXXP) ${CXXFLAGSP} ${CXXTEMPLFLAGSP} ${CPPFLAGS} ${DEFSP} -c mpsr_Tok.cc -o mpsr_Tok.op
725
726
727## for bprof
728p_Procs_%.sob: p_Procs_Lib_%.dl_ob
729        ${CXXP} ${CXXFLAGSB} ${SFLAGS} ${SLDFLAGS} $< -o $@
730
731p_Procs_Lib_%.dl_ob : p_Procs_Lib.cc  p_Procs_Dynamic.ob
732        ${CXXP} ${CXXFLAGS} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFS} ${SFLAGS} -Dp_Procs_$* -c $< -o $@
733
734%.dl_ob: %.cc
735        ${CXXP} ${CXXFLAGSB} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFSB} ${SFLAGS} -c $< -o $@
736
737mpsr.sob: $(MPSR_SOURCES:.cc=.dl_ob)
738        ${CXXP} ${CXXFLAGSB} ${SFLAGS} ${SLDFLAGS} ${LDFLAGS} -o $@ $^ ${MP_LIBS}
739
740dbmsr.sob: $(DBMSR_SOURCES:.cc=.dl_ob)
741        ${CXXP} ${CXXFLAGSB} ${SFLAGS} ${SLDFLAGS} ${LDFLAGS} -o $@ $^ ${MP_LIBS}
742
743claptmpl.ob: claptmpl.cc mod2.h
744        $(CXXP)  ${CXXFLAGSP} ${CPPFLAGS} ${DEFSB} -c $< -o $@
745
746%.ob: %.cc
747        $(CXXP) ${CXXFLAGSP} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFSB} -c $< -o $@
748
749$(OBJB2) : %.ob: %.c
750        $(CCP)  ${CFLAGSP} ${CPPFLAGS} ${DEFSB} -c $< -o $@
751
752Singularb${S_EXT}: scanner.cc   $(OBJB) iparith.ob mpsr_Tok.ob claptmpl.ob tesths.cc version.h mmalloc.ob
753        $(CXXP) ${CXXFLAGSP} ${CPPFLAGS} ${DEFSB} -o Singularb${S_EXT} \
754        tesths.cc iparith.ob mpsr_Tok.ob claptmpl.ob $(OBJB) $(BPROFOBJ) \
755        ${LDFLAGSP} ${LIBS} -lomalloc_ndebug mmalloc.ob ${LD_DYN_FLAGS}
756
757iparith.ob: iparith.inc iparith.cc
758        $(CXXP)  ${CXXFLAGSP} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFSB} -c iparith.cc -o iparith.ob
759
760mpsr_Tok.ob: iparith.inc mpsr_Tok.cc
761        $(CXXP) ${CXXFLAGSP} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFSB} -c mpsr_Tok.cc -o mpsr_Tok.ob
762
763#
764# for mtrack
765#
766p_Procs_%.sot: p_Procs_Lib_%.dl_ot
767        ${CXXP} ${CXXFLAGST} ${SFLAGS} ${SLDFLAGS} $< -o $@
768
769p_Procs_Lib_%.dl_ot : p_Procs_Lib.cc p_Procs_Dynamic.ot
770        ${CXXP} ${CXXFLAGS} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFS} ${SFLAGS} -Dp_Procs_$* -c $< -o $@
771
772%.dl_ot: %.cc
773        ${CXXP} ${CXXFLAGST} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFST} ${SFLAGS} -c $< -o $@
774
775mpsr.sot: $(MPSR_SOURCES:.cc=.dl_ot)
776        ${CXXP} ${CXXFLAGST} ${SFLAGS} ${SLDFLAGS} ${LDFLAGS} -o $@ $^ ${MP_LIBS}
777
778dbmsr.sot: $(DBMSR_SOURCES:.cc=.dl_ot)
779        ${CXX} ${CXXFLAGST} ${SFLAGS} ${SLDFLAGS} ${LDFLAGS} -o $@ $^ ${MP_LIBS}
780
781claptmpl.ot: claptmpl.cc mod2.h
782        $(CXXP)  ${CXXFLAGST} ${CPPFLAGS} ${DEFST} -c $< -o $@
783
784%.ot: %.cc
785        $(CXXP) ${CXXFLAGST} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFST} -c $< -o $@
786
787$(OBJT2) : %.ot: %.c
788        $(CCP)  ${CFLAGST} ${CPPFLAGS} ${DEFST} -c $< -o $@
789
790Singulart${S_EXT}: scanner.cc   $(OBJT) iparith.ot mpsr_Tok.ot claptmpl.ot tesths.cc version.h  mmalloc.ot $(DL_LIBST)
791        $(CXXP) ${CXXFLAGST} ${CPPFLAGS} ${DEFST} -o Singulart${S_EXT} \
792        tesths.cc iparith.ot mpsr_Tok.ot claptmpl.ot $(OBJT) ${LDFLAGST} ${LIBS} -lomalloc mmalloc.ot \
793        ${LD_DYN_FLAGS}
794
795iparith.ot: iparith.inc iparith.cc
796        $(CXXP)  ${CXXFLAGST} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFST} -c iparith.cc -o iparith.ot
797
798mpsr_Tok.ot: iparith.inc mpsr_Tok.cc
799        $(CXXP) ${CXXFLAGST} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFST} -c mpsr_Tok.cc -o mpsr_Tok.ot
800
801
802#
803# for Singulara
804#
805DEFSA = -DOM_CHECK=1 -DHAVE_ASSUME -DNDEBUG -D@SING_UNAME@ @DEFS@ -DDL_TAIL=$(DL_TAILA)
806CFLAGSA         = -g  -O -Wall -Wno-unused ${PIPE}
807CXXFLAGSA       = -g  -O -Wall -Wno-unused ${PIPE}
808
809p_Procs_%.soa: p_Procs_Lib_%.dl_oa
810        ${CXX} ${CXXFLAGSA} ${SFLAGS} ${SLDFLAGS} $< -o $@
811
812p_Procs_Lib_%.dl_oa : p_Procs_Lib.cc p_Procs_Dynamic.oa
813        ${CXX} ${CXXFLAGS} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFS} ${SFLAGS} -Dp_Procs_$* -c $< -o $@
814
815%.dl_oa: %.cc
816        ${CXX} ${CXXFLAGSA} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFSA} ${SFLAGS} -c $< -o $@
817
818mpsr.soa: $(MPSR_SOURCES:.cc=.dl_oa)
819        ${CXX} ${CXXFLAGSA} ${SFLAGS} ${SLDFLAGS} ${LDFLAGS} -o $@ $^ ${MP_LIBS}
820
821dbmsr.soa: $(DBMSR_SOURCES:.cc=.dl_oa)
822        ${CXX} ${CXXFLAGSA} ${SFLAGS} ${SLDFLAGS} ${LDFLAGS} -o $@ $^ ${MP_LIBS}
823
824
825claptmpl.oa: claptmpl.cc mod2.h
826        $(CXX)  ${CXXFLAGSA} ${CPPFLAGS} ${DEFSA} -c $< -o $@
827
828%.oa: %.cc
829        $(CXX) ${CXXFLAGSA} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFSA} -c $< -o $@
830
831$(OBJA2) : %.oa: %.c
832        $(CC)  ${CFLAGSA} ${CPPFLAGS} ${DEFSA} -c $< -o $@
833
834Singulara${S_EXT}: scanner.cc   $(OBJA) iparith.oa mpsr_Tok.oa claptmpl.oa tesths.cc version.h  mmalloc.oa $(DL_LIBSA)
835        $(CXX) ${CXXFLAGSA} ${CPPFLAGS} ${DEFSA} -o Singulara${S_EXT} \
836        tesths.cc iparith.oa mpsr_Tok.oa claptmpl.oa $(OBJA) ${LDFLAGS} ${LIBS} -lomalloc mmalloc.oa \
837        ${LD_DYN_FLAGS}
838
839iparith.oa: iparith.inc iparith.cc
840        $(CXX)  ${CXXFLAGSA} ${CXXTEMPLFLAGS} ${CPPFLAGS} ${DEFSA} -c iparith.cc -o iparith.oa
841
842mpsr_Tok.oa: iparith.inc mpsr_Tok.cc
843        $(CXX) ${CXXFLAGAT} ${CXXTEMPLFLAGSB} ${CPPFLAGS} ${DEFSA} -c mpsr_Tok.cc -o mpsr_Tok.oa
844
845#
846# for Macro expansion
847#
848CXXSOURCESD := $(CXXSOURCES:%.cc=%_d.cc) $(STATIC_SOURCES:%.cc=%_d.cc)
849CSOURCESD := $(CSOURCES:%.c=%_d.c)
850OBJD1 := $(CXXSOURCESD:.cc=.od)
851OBJD2 := $(CSOURCESD:.c=.od)
852
853%_d.c : %.c
854        $(CCG) $(CFLAGSG) ${CPPFLAGS} ${DEFS}-E -P $< | $(PERL) -p -e 's/;/;\n/g' | $(PERL) -p -e 's/\{/\n\{/g' | $(PERL) -p -e 's/\}/\n\}/g' > $@
855
856%_d.cc : %.cc
857        $(CCG) $(CXXFLAGS) ${CPPFLAGS} ${DEFS} -E -P $< | $(PERL) -p -e 's/;/;\n/g' | $(PERL) -p -e 's/\{/\n\{/g' | $(PERL) -p -e 's/\}/\n\}/g' > $@
858
859.PRECIOUS: %_d.cc %_d.c
860
861%.od : %.c
862        $(CCG)  ${CFLAGSG} ${CPPFLAGS} ${DEFSG} -c $< -o $@
863
864%.od : %.cc
865        $(CXXG) ${CXXFLAGSG} ${CXXTEMPLFLAGSG} ${CPPFLAGS} ${DEFSG} -c $< -o $@
866
867Singular_d: scanner.cc  $(OBJD)  mmalloc.od\
868           iparith.od mpsr_Tok.od claptmpl.og tesths.cc version.h
869        $(CXXG) ${CXXFLAGSG} ${CXXTEMPLFLAGSG} ${CPPFLAGS} ${DEFSG} -o Singularg_d \
870        tesths.cc iparith.od mpsr_Tok.od claptmpl.og $(OBJG) ${LDFLAGS} ${LIBS} -lomalloc mmalloc.od \
871        ${LD_DYN_FLAGS} ${LD_LIBC}
872
873##
874## check_aso
875##
876check_aso:
877        ${PERL} check_aso.pl $(SOURCES)
878##
879## dependencies
880##
881
882%.dd: %.cc mod2.h
883        echo $(@:.dd=.og) $(@:.dd=.op) $(@:.dd=_d.cc) $(@:.dd=.od) $(@:.dd=.ob) $(@:.dd=.ot) $(@:.dd=.oa) $(@:.dd=.dl_o) $(@:.dd=.dl_og) $(@:.dd=.dl_op) $(@:.dd=.dl_od) $(@:.dd=.dl_ob) $(@:.dd=.dl_ot) $(@:.dd=.dl_oa)" " \\ > $@
884        $(CXXM) -DGENTABLE ${CPPFLAGS} ${DEFSG} $< >> $@
885
886%.d: %.c mod2.h
887        echo $(@:.d=.og) $(@:.d=.od) $(@:.dd=_d.c) $(@:.d=.op) $(@:.d=.ob) $(@:.d=.ot) $(@:.d=.oa)" " \\ > $@
888        $(CCM) ${CPPFLAGS} ${DEFSG} $< >> $@
889
890depend:   $(CXXSOURCES:.cc=.dd) $(ESOURCES:.cc=.dd) $(CSOURCES:.c=.d) mod2.h claptmpl.dd
891        cat *.d *.dd >depend
892
893ifeq (depend,$(wildcard depend))
894include depend
895endif
896
897
Note: See TracBrowser for help on using the repository browser.