Makefile (1472B)
1 .POSIX: 2 3 include config.mk 4 5 .SUFFIXES: 6 .SUFFIXES: .1.in .1 .h.in .h .y .l .c .o 7 8 .1.in.1: 9 sh lib/replacepat $< $@ 10 11 .h.in.h: 12 sh lib/replacepat $< $@ 13 14 all: makedate makeversion $(PROG) $(MANPAGE) 15 if [ -f .rebuild ]; then rm .rebuild; make -e all; else true; fi 16 17 date: 18 sh lib/makedate 19 20 version: 21 sh lib/makeversion 22 23 makedate: 24 sh lib/makedate -l 25 26 makeversion: 27 sh lib/makeversion -l 28 29 $(MANPAGE): $(MANPAGE).in date version 30 31 version.h: version.h.in date version 32 33 lex.yy.c: bool.l 34 $(FLEX) bool.l 35 36 # Have to use explicit rules to prevent deletion of y.tab.c, so the program can 37 # be properly debugged 38 y.tab.c: bool.y 39 $(YACC) $(YACCFLAGS) bool.y 40 41 bool.o: y.tab.c $(HEADERS) 42 $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ -c y.tab.c 43 44 lex.yy.o: lex.yy.c 45 46 $(PROG): $(OBJS) $(SRC) $(HEADERS) 47 $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) 48 49 clean: 50 rm -f bool y.tab.c lex.yy.c *.o *~ 51 52 install: all 53 $(INSTALL) -Dm 0644 $(MANPAGE) $(MANPREFIX)/man1/$(MANPAGE) 54 $(INSTALL) -Dm 0644 README $(DOCDIR)/README 55 $(INSTALL) -Dm 0644 LICENSE $(DOCDIR)/LICENSE 56 $(INSTALL) -Dm 0755 $(PROG) $(BINDIR)/$(PROG) 57 58 uninstall: 59 rm -f $(MANPREFIX)/man1/$(MANPAGE) 60 rmdir $(MANPREFIX)/man1 2>/dev/null || true 61 rmdir $(MANPREFIX) 2>/dev/null || true 62 rm -f $(DOCDIR)/README 63 rm -f $(DOCDIR)/LICENSE 64 rmdir $(DOCDIR) 2>/dev/null || true 65 rm -f $(PROG) $(BINDIR)/$(PROG) 66 rmdir $(BINDIR) 2>/dev/null || true 67 68 pack: 69 sh -x lib/mkpack 70 71 .PHONY: all clean install makedate makeversion pack uninstall