Makefile (1640B)
1 .POSIX: 2 3 include config.mk 4 5 .SUFFIXES: 6 .SUFFIXES: .1.in .1 .def.h .h.in .h .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 config.h: config.def.h 18 cp config.def.h config.h 19 20 date: 21 sh lib/makedate 22 23 version: 24 sh lib/makeversion 25 26 makedate: 27 sh lib/makedate -l 28 29 makeversion: 30 sh lib/makeversion -l 31 32 sled.o: sled.c config.h draw.h limit.h termbox.h util.h version.h 33 34 $(MANPAGE): $(MANPAGE).in date version 35 36 version.h: version.h.in date version 37 38 draw.o: draw.c config.h draw.h limit.h termbox.h util.h version.h 39 40 util.o: util.c limit.h termbox.h util.h 41 42 $(PROG): $(OBJS) $(SRC) $(HEADERS) 43 $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) 44 45 clean: 46 rm -f tests/testfile version date version.h *.o *.xz *~ \ 47 $(PROG) $(MANPAGE) 48 49 install: all 50 $(INSTALL) -Dm 0644 $(MANPAGE) $(MANPREFIX)/man1/$(MANPAGE) 51 $(INSTALL) -Dm 0644 README $(DOCDIR)/README 52 $(INSTALL) -Dm 0644 LICENSE $(DOCDIR)/LICENSE 53 $(INSTALL) -Dm 0755 $(PROG) $(BINDIR)/$(PROG) 54 $(INSTALL) -Dm 0755 sledv $(BINDIR)/sledv 55 56 uninstall: 57 rm -f $(MANPREFIX)/man1/$(MANPAGE) 58 rmdir $(MANPREFIX)/man1 2>/dev/null || true 59 rmdir $(MANPREFIX) 2>/dev/null || true 60 rm -f $(DOCDIR)/README 61 rm -f $(DOCDIR)/LICENSE 62 rmdir $(DOCDIR) 2>/dev/null || true 63 rm -f $(PROG) $(BINDIR)/$(PROG) 64 rm -f $(BINDIR)/sledv 65 rmdir $(BINDIR) 2>/dev/null || true 66 67 test: all 68 command -v perl >/dev/null || { echo Test suite requires perl; exit 1; } 69 perl lib/runtests 70 71 pack: 72 sh -x lib/mkpack 73 74 .PHONY: all clean install makedate makeversion pack test uninstall