mincore: add '-s' summary option
[pcu.git] / Makefile
blob0027fdd23ba2f92b83e4f747d1ea4318994166dd
1 # default target
2 all::
4 prefix = $(HOME)
5 bindir = $(prefix)/bin
6 mandir = $(prefix)/share/man
7 INSTALL = install
8 PANDOC = pandoc
9 PANDOC_OPTS = -s -f markdown --email-obfuscation=none --sanitize-html
10 pandoc = $(PANDOC) $(PANDOC_OPTS)
11 pandoc_html = $(pandoc) --toc -t html --no-wrap
12 STRIP ?= strip
13 GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE
14 @./GIT-VERSION-GEN
15 -include GIT-VERSION-FILE
17 DISTNAME = pcu-$(GIT_VERSION)
19 # overridable from command-line
20 CFLAGS = -g -O2 -Wall
21 LDFLAGS = -Wl,-O1
23 pcu-mincore: mincore.c compat-util.h
24 pcu-fadvise: fadvise.c compat-util.h
25 pcu-fsync: fsync.c compat-util.h
27 PCU_BIN := pcu-fadvise pcu-mincore pcu-fsync
29 $(PCU_BIN):
30 $(CC) $(CFLAGS) $(LDFLAGS) -o $@+ $<
31 mv $@+ $@
33 all:: $(PCU_BIN)
35 install: $(PCU_BIN)
36 $(INSTALL) -d -m 755 '$(DESTDIR)$(bindir)'
37 $(INSTALL) $^ '$(DESTDIR)$(bindir)'
39 strip: $(PCU_BIN)
40 $(STRIP) $(STRIP_OPTS) $(PCU_BIN)
42 install-strip: strip
43 $(MAKE) install
45 %.1: %.1.txt
46 $(pandoc) -t man < $< > $@+
47 mv $@+ $@
48 %.1.html: %.1.txt
49 $(pandoc_html) -T $(basename $@) < $< > $@+
50 mv $@+ $@
52 man1 := $(addsuffix .1,$(PCU_BIN))
53 html := index.html INSTALL.html $(addsuffix .html, $(man1))
54 html: $(html)
55 man: $(man1)
56 doc: html man
57 install-man: install-man1
58 install-man1: $(man1)
59 $(INSTALL) -d -m 755 '$(DESTDIR)$(mandir)/man1'
60 $(INSTALL) $^ '$(DESTDIR)$(mandir)/man1'
62 dist: GIT-VERSION-FILE
63 git archive --format=tar --prefix=$(DISTNAME)/ HEAD^{tree} \
64 | gzip -9 > $(DISTNAME).tar.gz+
65 mv $(DISTNAME).tar.gz+ $(DISTNAME).tar.gz
66 clean:
67 $(RM) $(PCU_BIN) $(DISTNAME).tar.gz* GIT-VERSION-FILE
68 $(RM) $(man1) $(html)
70 INSTALL.html index.html: title = $(shell sed -ne 1p < $<)
71 INSTALL.html: INSTALL
72 index.html: README
74 index.html INSTALL.html:
75 $(pandoc_html) -T "$(title)" < $< > $@+
76 mv $@+ $@
78 .PHONY: .FORCE-GIT-VERSION-FILE install install-man man