source: auto/output/Makefile @ c7ecbc2

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

Stadard targets added to Makefile. New targets:

  • install
  • install-*
  • uninstall
  • Property mode set to 100755
File size: 6.0 KB
Line 
1#!/bin/sh
2
3cat << EOF > Makefile
4# Default target
5.DEFAULT_GOAL = all
6
7PROJECT_NAME = $PROJECT_NAME
8PROJECT_FULLNAME = $PROJECT_FULLNAME
9PROJECT_COPYRIGHT = $PROJECT_COPYRIGHT
10PROJECT_VERSION = $PROJECT_VERSION
11PROEJCT_PAGE = $PROJECT_PAGE
12PROJECT_MAIL = $PROJECT_MAIL
13
14INSTALL = $INSTALL
15INSTALL_PROGRAM = \$(INSTALL)
16INSTALL_PROGRAM_STRIP = \$(INSTALL) -s
17INSTALL_DATA = \$(INSTALL) -m 644
18INSTALL_DIR = \$(INSTALL) -d
19SHELL = $SHELL
20CC = $CC
21BISON = $BISON
22FLEX = $FLEX
23RM = $RM
24RMDIR = $RMDIR
25TEST = $TEST
26MAKE = $MAKE
27GREP = $GREP
28CUT = $CUT
29SORT = $SORT
30PR = $PR
31CP = $CP
32CHMOD = $CHMOD
33MAKEINFO = $MAKEINFO
34TEXI2DVI = $TEXI2DVI
35TEXI2PDF = $TEXI2PDF
36DVIPS = $DVIPS
37
38CFLAGS = $CFLAGS
39LDFLAGS = $LDFLAGS
40LDLIBS = $LDLIBS
41BFLAGS = $BFLAGS
42FFLAGS = $FFLAGS
43
44DESTDIR = $DESTDIR
45
46prefix = $prefix
47exec_prefix = $exec_prefix
48bindir = $bindir
49sbindir = $sbindir
50libexecdir = $libexecdir
51datarootdir = $datarootdir
52datadir = $datadir
53sysconfdir = $sysconfdir
54sharedstatedir = $sharedstatedir
55localstatedir = $localstatedir
56docdir = $docdir
57infodir = $infodir
58htmldir = $htmldir
59dvidir = $dvidir
60pdfdir = $pdfdir
61psdir = $psdir
62libdir = $libdir
63localedir = $localedir
64mandir = $mandir
65man1dir = $man1dir
66man2dir = $man2dir
67man3dir = $man3dir
68man4dir = $man4dir
69man5dir = $man5dir
70man6dir = $man6dir
71man7dir = $man7dir
72man8dir = $man8dir
73man9dir = $man9dir
74manext = $manext
75man1ext = $man1ext
76man2ext = $man2ext
77man3ext = $man3ext
78man4ext = $man4ext
79man5ext = $man5ext
80man6ext = $man6ext
81man7ext = $man7ext
82man8ext = $man8ext
83man9ext = $man9ext
84
85ALL_CFLAGS = \$(CFLAGS)
86ALL_LDFLAGS = \$(LDFLAGS)
87ALL_LDLIBS = \$(LDLIBS)
88ALL_BFLAGS = \$(BFLAGS)
89ALL_FFLAGS = -t \$(FFLAGS)
90
91vpath %.c       ./src
92vpath %.l       ./src
93vpath %.ggo     ./src
94vpath %.pl      ./src
95vpath %.sed     ./src
96vpath %.sh      ./src
97vpath %.texinfo ./doc
98
99PROGRAMS_SCRIPT = gph kot unfla grp mar ser kon rm12
100PROGRAMS_EXEC = tok sen fla rs12
101PROGRAMS = \$(PROGRAMS_SCRIPT) \$(PROGRAMS_EXEC)
102DOC_FILES = utt.info utt.dvi utt.html utt.pdf utt.ps
103
104TOK_OBJ_FILES = tok.o tok_cmdline.o
105TOK_FLEX_FILES = tok.l
106TOK_GGO_FILES = tok_cmdline.ggo
107tok: \$(TOK_OBJ_FILES)
108tok.o: tok.c
109tok.o: tok_cmdline.h
110tok.c: tok.l
111tok_cmdline.o: tok_cmdline.c tok_cmdline.h
112tok_cmdline.c: tok_cmdline.ggo
113tok_cmdline.h: tok_cmdline.ggo
114
115SEN_OBJ_FILES = sen.o
116SEN_FLEX_FILES = sen.l
117sen: \$(SEN_OBJ_FILES)
118sen.o: sen.c
119sen.c: sen.l
120
121FLA_OBJ_FILES = fla.o
122fla: \$(FLA_OBJ_FILES)
123fla.o: fla.c
124
125GPH_PERL_FILES = gph.pl
126gph: \$(GPH_PERL_FILES)
127
128KOT_PERL_FILES = kot.pl
129kot: \$(KOT_PERL_FILES)
130
131UNFLA_SH_FILES = unfla.sh
132unfla: \$(UNFLA_SH_FILES)
133
134GRP_PERL_FILES = grp.pl
135grp: \$(GRP_PERL_FILES)
136
137MAR_PERL_FILES = mar.pl
138mar: \$(MAR_PERL_FILES)
139
140SER_PERL_FILES = ser.pl
141ser: \$(SER_PERL_FILES)
142
143KON_PERL_FILES = kon.pl
144kon: \$(KON_PERL_FILES)
145
146RM12_SED_FILES = rm12.sed
147rm12: \$(RM12_SED_FILES)
148
149RS12_OBJ_FILES = rs12.o
150rs12: \$(RS12_OBJ_FILES)
151rs12.o: rs12.c
152
153CONFIG_FILES = src/config.h Makefile
154
155.SUFFIXES:
156.SUFFIXES: .l .y .h .c .pl .o .texinfo .info .dvi .html .pdf .ps
157
158.PHONY: help
159help:
160        @\$(MAKE) --print-data-base --question |                        \\
161        \$(GREP) '^[^.%][-A-Za-z0-9_]*:' |                      \\
162        \$(CUT) -f 1 -d : |                                     \\
163        \$(GREP) -v '^Makefile\$\$' |                           \\
164        \$(SORT) |                                              \\
165        \$(PR) --omit-pagination --width=80 --columns=4
166
167.PHONY: all
168all: \$(PROGRAMS)
169
170.PHONY: doc
171doc: info dvi html pdf ps
172
173.PHONY: info
174info: utt.info
175
176.PHONY: dvi
177dvi: utt.dvi
178
179.PHONY: html
180html: utt.html
181
182.PHONY: pdf
183pdf: utt.pdf
184
185.PHONY: ps
186ps: utt.ps
187
188.PHONY: install-all
189install-all: install install-doc
190       
191.PHONY: installdirs
192installdirs:
193        \$(INSTALL_DIR) \$(DESTDIR)\$(prefix) \\
194                        \$(DESTDIR)\$(exec_prefix) \\
195                        \$(DESTDIR)\$(bindir) \\
196                        \$(DESTDIR)\$(datarootdir) \\
197                        \$(DESTDIR)\$(datadir) \\
198                        \$(DESTDIR)\$(docdir) \\
199                        \$(DESTDIR)\$(infodir) \\
200                        \$(DESTDIR)\$(htmldir) \\
201                        \$(DESTDIR)\$(dvidir) \\
202                        \$(DESTDIR)\$(pdfdir) \\
203                        \$(DESTDIR)\$(psdir) \\
204
205.PHONY: install
206install: installdirs
207        \$(INSTALL_PROGRAM) \$(PROGRAMS) \$(DESTDIR)\$(bindir)
208
209.PHONY: install-strip
210install-strip: installdirs
211        \$(INSTALL_PROGRAM) \$(PROGRAMS_SCRIPT) \$(DESTDIR)\$(bindir)
212        \$(INSTALL_PROGRAM_STRIP) \$(PROGRAMS_EXEC) \$(DESTDIR)\$(bindir)
213
214.PHONY: install-doc
215install-doc: install-info install-dvi install-html install-pdf install-ps
216
217.PHONY: install-info
218install-info: installdirs
219        \$(INSTALL_DATA) utt.info \$(DESTDIR)\$(infodir)
220
221.PHONY: install-dvi
222install-dvi: installdirs
223        \$(INSTALL_DATA) utt.dvi \$(DESTDIR)\$(dvidir)
224
225.PHONY: install-html
226install-html: installdirs
227        \$(INSTALL_DATA) utt.html \$(DESTDIR)\$(htmldir)
228
229.PHONY: install-pdf
230install-pdf: installdirs
231        \$(INSTALL_DATA) utt.pdf \$(DESTDIR)\$(pdfdir)
232
233.PHONY: install-ps
234install-ps: installdirs
235        \$(INSTALL_DATA) utt.ps \$(DESTDIR)\$(psdir)
236
237.PHONY: uninstall
238uninstall:
239        \$(RM) \$(foreach file,\$(PROGRAMS),\$(DESTDIR)\$(bindir)/\$(file))
240        \$(RM) \$(DESTDIR)\$(infodir)/utt.info
241        \$(RM) \$(DESTDIR)\$(dvidir)/utt.dvi
242        \$(RM) \$(DESTDIR)\$(htmldir)/utt.html
243        \$(RM) \$(DESTDIR)\$(pdfdir)/utt.pdf
244        \$(RM) \$(DESTDIR)\$(psdir)/utt.ps
245        \$(RMDIR) \$(DESTDIR)\$(docdir)
246
247.PHONY: clean
248clean:
249        \$(RM) \$(PROGRAMS)
250        \$(RM) \$(TOK_OBJ_FILES)
251        \$(RM) \$(patsubst %.l,%.c,\$(TOK_FLEX_FILES))
252        \$(RM) \$(patsubst %.ggo,%.c,\$(TOK_GGO_FILES))
253        \$(RM) \$(patsubst %.ggo,%.h,\$(TOK_GGO_FILES))
254        \$(RM) \$(SEN_OBJ_FILES)
255        \$(RM) \$(patsubst %.l,%.c,\$(SEN_FLEX_FILES))
256        \$(RM) \$(FLA_OBJ_FILES)
257        \$(RM) \$(RS12_OBJ_FILES)
258        \$(RM) \$(DOC_FILES)
259
260.PHONY: distclean
261distclean: clean
262        \$(RM) \$(CONFIG_FILES)
263
264%.o: %.c
265        \$(CC) -c \$< -o \$@ \$(ALL_CFLAGS)
266
267%.c: %.l
268        \$(FLEX) -t \$< > \$@
269
270%.c: %.ggo
271        gengetopt --input \$< --file-name \$(basename \$@) --conf-parser
272
273%.h: %.ggo
274        gengetopt --input \$< --file-name \$(basename \$@) --conf-parser
275
276%: %.o
277        \$(CC) \$? -o \$@ \$(ALL_LDFLAGS) \$(ALL_CFLAGS) \$(ALL_LDLIBS)
278
279%: %.pl
280        \$(CP) \$< \$@
281        \$(CHMOD) a+x \$@
282
283%: %.sh
284        \$(CP) \$< \$@
285        \$(CHMOD) a+x \$@
286
287%: %.sed
288        \$(CP) \$< \$@
289        \$(CHMOD) a+x \$@
290
291%.info: %.texinfo
292        \$(MAKEINFO) \$< -o \$@
293
294%.dvi: %.texinfo
295        \$(TEXI2DVI) --build=clean \$< -o \$@
296
297%.html: %.texinfo
298        \$(MAKEINFO) --html --no-split \$< -o \$@
299
300%.pdf: %.texinfo
301        \$(TEXI2PDF) --build=clean \$< -o \$@
302
303%.ps: %.dvi
304        \$(DVIPS) \$< -o \$@
305
306EOF
307
Note: See TracBrowser for help on using the repository browser.