Makefile (1914B)
1 .POSIX: 2 3 include config.mk 4 5 .SUFFIXES: 6 .SUFFIXES: .1.in .1 .h.in .h .c .o .slw .html 7 8 .1.in.1: 9 sh lib/replacepat $< $@ 10 11 .h.in.h: 12 sh lib/replacepat $< $@ 13 14 .slw.html: 15 ./slweb -d $(<D) $< > $@ 16 17 all: makedate makeversion $(PROG) $(MANPAGE) examples 18 if [ -f .rebuild ]; then rm .rebuild; make -e all; else true; fi 19 20 examples: $(HTMLS) examples/includes/index.html 21 22 examples/includes/index.html: $(SLW_includes) 23 24 date: 25 sh lib/makedate 26 27 version: 28 sh lib/makeversion 29 30 makedate: 31 sh lib/makedate -l 32 33 makeversion: 34 sh lib/makeversion -l 35 36 slweb.o: slweb.c defs.h utf8.h version.h 37 38 $(MANPAGE): $(MANPAGE).in date version 39 40 version.h: version.h.in date version 41 42 utf8.o: utf8.c utf8.h 43 44 $(PROG): $(OBJS) 45 $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) 46 47 clean: 48 find examples -name '*.html' -exec rm {} \; 49 rm -f version date version.h *.o *.xz *~ $(PROG) $(MANPAGE) 50 51 install: all 52 find examples -type f \( -name '*.slw' -o -name '*.html' \ 53 -o -name '*.css' \) -exec sh -c 'umask 022; \ 54 printf "%s\n" {} | sed 's,examples/,,' | \ 55 xargs printf "%s/%s\n" "$(EXDIR)" | \ 56 xargs $(INSTALL) -Dm 0644 {}' shell \; 57 $(INSTALL) -Dm 0644 $(MANPAGE) $(MANPREFIX)/man1/$(MANPAGE) 58 $(INSTALL) -Dm 0644 README $(DOCDIR)/README 59 $(INSTALL) -Dm 0644 LICENSE $(DOCDIR)/LICENSE 60 $(INSTALL) -Dm 0755 $(PROG) $(BINDIR)/$(PROG) 61 62 uninstall: 63 rm -f $(MANPREFIX)/man1/$(MANPAGE) 64 rmdir $(MANPREFIX)/man1 2>/dev/null || true 65 rmdir $(MANPREFIX) 2>/dev/null || true 66 find $(EXDIR) -type f -exec rm {} \; || true 67 find $(EXDIR) -depth -type d -exec rmdir {} \; || true 68 rm -f $(DOCDIR)/README 69 rm -f $(DOCDIR)/LICENSE 70 rmdir $(DOCDIR) 2>/dev/null || true 71 rm -f $(PROG) $(BINDIR)/$(PROG) 72 rmdir $(BINDIR) 2>/dev/null || true 73 74 test: all 75 command -v perl >/dev/null || { echo Test suite requires perl; exit 1; } 76 perl lib/runtests 77 78 pack: 79 sh -x lib/mkpack 80 81 .PHONY: all clean examples install makedate makeversion pack test uninstall