1 | # |
---|
2 | # |
---|
3 | # |
---|
4 | topsrcdir = @top_srcdir@ |
---|
5 | srcdir = @srcdir@ |
---|
6 | prefix = @prefix@ |
---|
7 | exec_prefix = @exec_prefix@ |
---|
8 | libdir = @libdir@ |
---|
9 | # program executable goes here |
---|
10 | bindir = @bindir@ |
---|
11 | # Singular libs go here |
---|
12 | includedir = @includedir@ |
---|
13 | MOD_DEST = ./include |
---|
14 | INC_SRC = $(topsrcdir)/Singular |
---|
15 | |
---|
16 | SINGUNAME = @SINGUNAME@ |
---|
17 | SING_UNAME = @SING_UNAME@ |
---|
18 | SINGULAR_VERSION = @SINGULAR_VERSION@ |
---|
19 | S_VERSION = $${SINGULAR_VERSION-@SINGULAR_VERSION@} |
---|
20 | DISTROOT_NAME = Singular-${S_VERSION} |
---|
21 | BINDIST_NAME = ${DISTROOT_NAME}-${SINGUNAME} |
---|
22 | SHAREDIST_NAME = ${DISTROOT_NAME}-share |
---|
23 | MKINSTALLDIRS = $(topsrcdir)/Singular/mkinstalldirs |
---|
24 | LN_S = @LN_S@ |
---|
25 | INSTALL = $(topsrcdir)/Singular/install-sh -c |
---|
26 | INSTALL_PROGRAM = ${INSTALL} |
---|
27 | INSTALL_DATA = ${INSTALL} -m 644 |
---|
28 | MODGEN = $(bindir)/modgen |
---|
29 | BISON = bison |
---|
30 | |
---|
31 | CFLAGS += -g -I../include -I../../Singular -DNDEBUG -DMODULE_GENERATOR \ |
---|
32 | -D${SING_UNAME} |
---|
33 | LIBS += -L/usr/local/lib -lgmp |
---|
34 | |
---|
35 | OBJS = main.o grammar.o scanner.o misc.o makefile.o utils.o \ |
---|
36 | creat_top.o |
---|
37 | |
---|
38 | # iparith.o febase.o \ |
---|
39 | # mmalloc.o mmallocb.o mminit.o mmutil.o mmblock.o mmspec.o |
---|
40 | |
---|
41 | # subexpr.o |
---|
42 | |
---|
43 | all = modgen |
---|
44 | |
---|
45 | .cc.o: |
---|
46 | gcc -c ${CFLAGS} $< |
---|
47 | |
---|
48 | .c.o: |
---|
49 | gcc -c ${CFLAGS} $< |
---|
50 | |
---|
51 | all: modgen |
---|
52 | |
---|
53 | pathnames.h: |
---|
54 | echo "/*" > pathnames.h |
---|
55 | echo " *" >> pathnames.h |
---|
56 | echo " */" >> pathnames.h |
---|
57 | echo "" >> pathnames.h |
---|
58 | echo "#define TOPSRCDIR \"$(topsrcdir)\"" >> pathnames.h |
---|
59 | echo "#define LIBDIR \"$(libdir)\"" >> pathnames.h |
---|
60 | |
---|
61 | modgen: ${OBJS} modgen.h decl.inc typmap.h pathnames.h stype.h |
---|
62 | gcc -o $@ ${CFLAGS} ${OBJS} ${LIBS} |
---|
63 | |
---|
64 | scanner.cc: scanner.l grammar.h modgen.h |
---|
65 | flex -oscanner.cc scanner.l |
---|
66 | |
---|
67 | # flex -Pyymod -oscanner.cc scanner.l |
---|
68 | |
---|
69 | clean: |
---|
70 | rm -f a.out *~ scanner.cc *.o core modgen |
---|
71 | rm -f pathnames.h |
---|
72 | |
---|
73 | install: modgen |
---|
74 | ${MKINSTALLDIRS} ${bindir} |
---|
75 | ${INSTALL_PROGRAM} modgen ${bindir}/modgen-${SINGULAR_VERSION} |
---|
76 | rm -f ${bindir}/modgen |
---|
77 | cd ${bindir}; ${LN_S} modgen-${SINGULAR_VERSION} modgen;\ |
---|
78 | if test ! -x ${MODGEN}; then \ |
---|
79 | ${LN_S} modgen-${SINGULAR_VERSION} ${MODGEN};\ |
---|
80 | fi |
---|
81 | |
---|
82 | |
---|
83 | # |
---|
84 | # |
---|
85 | # |
---|
86 | test: modgen |
---|
87 | rm -rf tmp |
---|
88 | mkdir tmp |
---|
89 | ./modgen ../kernel/kernel.mod |
---|
90 | |
---|
91 | # |
---|
92 | # |
---|
93 | # |
---|
94 | decl.inc: ../../Singular/grammar.h ../../Singular/tok.h |
---|
95 | -echo "/* declaration for modgen.cc */" > $@ |
---|
96 | -grep "^#define" ../../Singular/grammar.h | awk \ |
---|
97 | '{print "\tcase "$$2": strcpy(name,\""$$2"\"); break;"}' >> $@ |
---|
98 | -echo "" >> $@ |
---|
99 | -echo "/* declaration from tok.h */" >> $@ |
---|
100 | -grep "^ [A-Z_]*," ../../Singular/tok.h | sed "s/,//g" | awk \ |
---|
101 | '{print "\tcase "$$1": strcpy(name,\""$$1"\"); break;"}'>>$@ |
---|
102 | |
---|
103 | .y.cc: |
---|
104 | @if test "x${BISON}" = x; then \ |
---|
105 | echo Error: no bison given, could not rebuilt grammar.cc;\ |
---|
106 | exit 1; \ |
---|
107 | fi |
---|
108 | ${BISON} -d -t -o grammar.cc $< |
---|
109 | mv grammar.cc.h grammar.h |
---|
110 | |
---|
111 | makefile.cc: pathnames.h |
---|
112 | misc.cc: modgen.h |
---|
113 | utils.cc: modgen.h |
---|
114 | grammar.cc: grammar.y |
---|
115 | grammar.h: grammar.y |
---|