slweb

Једноставни генератор статичких веб страна
git clone https://git.sr.ht/~strahinja/slweb
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

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