source: auto/output/Makefile @ 4518a0b

Last change on this file since 4518a0b was 4518a0b, checked in by Mateusz Hromada <ruanda@…>, 15 years ago

Migration to new build system.

  • rm12 moved and checked
  • Property mode set to 100755
File size: 3.0 KB
Line 
1#!/bin/sh
2
3cat << EOF > Makefile
4# Default target
5.DEFAULT_GOAL = all
6
7SHELL = $SHELL
8CC = $CC
9BISON = $BISON
10FLEX = $FLEX
11RM = $RM
12RMDIR = $RMDIR
13TEST = $TEST
14MAKE = $MAKE
15GREP = $GREP
16CUT = $CUT
17SORT = $SORT
18PR = $PR
19CP = $CP
20CHMOD = $CHMOD
21
22CFLAGS = $CFLAGS
23LDFLAGS = $LDFLAGS
24LDLIBS = $LDLIBS
25BFLAGS = $BFLAGS
26FFLAGS = $FFLAGS
27
28DESTDIR = $DESTDIR
29
30prefix = $prefix
31exec_prefix = $exec_prefix
32bindir = $bindir
33sbindir = $sbindir
34datarootdir = $datarootdir
35datadir = $datadir
36sysconfdir = $sysconfdir
37sharedstatedir = $sharestatedir
38localstatedir = $localstatedir
39
40ALL_CFLAGS = \$(CFLAGS)
41ALL_LDFLAGS = \$(LDFLAGS)
42ALL_LDLIBS = \$(LDLIBS)
43ALL_BFLAGS = \$(BFLAGS)
44ALL_FFLAGS = -t \$(FFLAGS)
45
46VPATH = ./src
47
48PROGRAMS = tok sen fla gph kot unfla grp mar ser kon rm12
49
50TOK_OBJ_FILES = tok.o tok_cmdline.o
51TOK_FLEX_FILES = tok.l
52TOK_GGO_FILES = tok_cmdline.ggo
53tok: \$(TOK_OBJ_FILES)
54tok.o: tok.c
55tok.o: tok_cmdline.h
56tok.c: tok.l
57tok_cmdline.o: tok_cmdline.c tok_cmdline.h
58tok_cmdline.c: tok_cmdline.ggo
59tok_cmdline.h: tok_cmdline.ggo
60
61SEN_OBJ_FILES = sen.o
62SEN_FLEX_FILES = sen.l
63sen: \$(SEN_OBJ_FILES)
64sen.o: sen.c
65sen.c: sen.l
66
67FLA_OBJ_FILES = fla.o
68fla: \$(FLA_OBJ_FILES)
69fla.o: fla.c
70
71GPH_PERL_FILES = gph.pl
72gph: \$(GPH_PERL_FILES)
73
74KOT_PERL_FILES = kot.pl
75kot: \$(KOT_PERL_FILES)
76
77UNFLA_SH_FILES = unfla.sh
78unfla: \$(UNFLA_SH_FILES)
79
80GRP_PERL_FILES = grp.pl
81grp: \$(GRP_PERL_FILES)
82
83MAR_PERL_FILES = mar.pl
84mar: \$(MAR_PERL_FILES)
85
86SER_PERL_FILES = ser.pl
87ser: \$(SER_PERL_FILES)
88
89KON_PERL_FILES = kon.pl
90kon: \$(KON_PERL_FILES)
91
92RM12_SED_FILES = rm12.sed
93rm12: \$(RM12_SED_FILES)
94
95CONFIG_FILES = src/config.h Makefile
96
97.SUFFIXES:
98.SUFFIXES: .l .y .h .c .pl .o
99
100#.INTERMEDIATE: \$(patsubst %.l,%.c,\$(TOK_FLEX_FILES))
101#.INTERMEDIATE: \$(patsubst %.ggo,%.c,\$(TOK_GGO_FILES))
102#.INTERMEDIATE: \$(patsubst %.ggo,%.h,\$(TOK_GGO_FILES))
103#.INTERMEDIATE: \$(patsubst %.l,%.c,\$(SEN_FLEX_FILES))
104
105.PHONY: all
106all: \$(PROGRAMS)
107
108
109.PHONY: help
110help:
111        @\$(MAKE) --print-data-base --question |                \\
112        \$(GREP) '^[^.%][-A-Za-z0-9_]*:' |                      \\
113        \$(CUT) -f 1 -d : |                                     \\
114        \$(GREP) -v '^Makefile$$' |                             \\
115        \$(SORT) |                                              \\
116        \$(PR) --omit-pagination --width=80 --columns=4
117
118
119.PHONY: clean
120clean:
121        \$(RM) \$(PROGRAMS)
122        \$(RM) \$(TOK_OBJ_FILES)
123        \$(RM) \$(patsubst %.l,%.c,\$(TOK_FLEX_FILES))
124        \$(RM) \$(patsubst %.ggo,%.c,\$(TOK_GGO_FILES))
125        \$(RM) \$(patsubst %.ggo,%.h,\$(TOK_GGO_FILES))
126        \$(RM) \$(SEN_OBJ_FILES)
127        \$(RM) \$(patsubst %.l,%.c,\$(SEN_FLEX_FILES))
128        \$(RM) \$(FLA_OBJ_FILES)
129
130.PHONY: distclean
131distclean: clean
132        \$(RM) \$(CONFIG_FILES)
133
134.PHONY: install
135install: all
136        echo TODO: make install
137       
138.PHONY: uninstall
139uninstall:
140        echo TODO: make uninstall
141
142%.o: %.c
143        \$(CC) -c \$< -o \$@ \$(ALL_CFLAGS)
144
145%.c: %.l
146        \$(FLEX) -t \$< > \$@
147
148%.c: %.ggo
149        gengetopt --input \$< --file-name \$(basename \$@) --conf-parser
150
151%.h: %.ggo
152        gengetopt --input \$< --file-name \$(basename \$@) --conf-parser
153
154%: %.o
155        \$(CC) \$? -o \$@ \$(ALL_LDFLAGS) \$(ALL_CFLAGS) \$(ALL_LDLIBS)
156
157%: %.pl
158        \$(CP) \$< \$@
159        \$(CHMOD) a+x \$@
160
161%: %.sh
162        \$(CP) \$< \$@
163        \$(CHMOD) a+x \$@
164
165%: %.sed
166        \$(CP) \$< \$@
167        \$(CHMOD) a+x \$@
168
169EOF
170
Note: See TracBrowser for help on using the repository browser.