-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathMakefile
129 lines (114 loc) · 4.35 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
.PHONY: distclean clean regress distcheck
include Makefile.configure
WWWDIR = /var/www/vhosts/kristaps.bsd.lv/htdocs/sqlite2mdoc
sinclude Makefile.local
VERSION = 1.0.1
DOTAR = Makefile \
compats.c \
extern.h \
print_description.c \
print_implementation.c \
print_synopsis.c \
main.c \
tests.c \
sqlite2mdoc.1
OBJS = main.o \
print_description.o \
print_implementation.o \
print_synopsis.o
VALGRIND_ARGS = -q --leak-check=full --leak-resolution=high --show-reachable=yes
all: sqlite2mdoc
$(OBJS): extern.h config.h
sqlite2mdoc: $(OBJS) compats.o
$(CC) -o $@ $(OBJS) compats.o $(LDFLAGS) $(LDADD)
www: sqlite2mdoc.tar.gz sqlite2mdoc.tar.gz.sha512
installwww: www
mkdir -p $(WWWDIR)/snapshots
$(INSTALL_DATA) sqlite2mdoc.tar.gz $(WWWDIR)/snapshots
$(INSTALL_DATA) sqlite2mdoc.tar.gz.sha512 $(WWWDIR)/snapshots
$(INSTALL_DATA) sqlite2mdoc.tar.gz $(WWWDIR)/snapshots/sqlite2mdoc-$(VERSION).tar.gz
$(INSTALL_DATA) sqlite2mdoc.tar.gz.sha512 $(WWWDIR)/snapshots/sqlite2mdoc-$(VERSION).sha512
sqlite2mdoc.tar.gz:
mkdir -p .dist/sqlite2mdoc-$(VERSION)/
mkdir -p .dist/sqlite2mdoc-$(VERSION)/regress
mkdir -p .dist/sqlite2mdoc-$(VERSION)/regress/expect-3.29.0
mkdir -p .dist/sqlite2mdoc-$(VERSION)/regress/expect-3.42.0
$(INSTALL) -m 0644 $(DOTAR) .dist/sqlite2mdoc-$(VERSION)
$(INSTALL) -m 0644 regress/sqlite3-3.29.0.h .dist/sqlite2mdoc-$(VERSION)/regress
$(INSTALL) -m 0644 regress/sqlite3-3.42.0.h .dist/sqlite2mdoc-$(VERSION)/regress
$(INSTALL) -m 0644 regress/expect-3.29.0/*.3 .dist/sqlite2mdoc-$(VERSION)/regress/expect-3.29.0
$(INSTALL) -m 0644 regress/expect-3.42.0/*.3 .dist/sqlite2mdoc-$(VERSION)/regress/expect-3.42.0
$(INSTALL) -m 0755 configure .dist/sqlite2mdoc-$(VERSION)
( cd .dist/ && tar zcf ../$@ sqlite2mdoc-$(VERSION) )
rm -rf .dist/
sqlite2mdoc.tar.gz.sha512: sqlite2mdoc.tar.gz
openssl dgst -sha512 -hex sqlite2mdoc.tar.gz >$@
install:
mkdir -p $(DESTDIR)$(BINDIR)
mkdir -p $(DESTDIR)$(MANDIR)/man1
$(INSTALL_PROGRAM) sqlite2mdoc $(DESTDIR)$(BINDIR)
$(INSTALL_MAN) sqlite2mdoc.1 $(DESTDIR)$(MANDIR)/man1
distcheck: sqlite2mdoc.tar.gz sqlite2mdoc.tar.gz.sha512
mandoc -Tlint -Werror sqlite2mdoc.1
rm -rf .distcheck
[ "`openssl dgst -sha512 -hex sqlite2mdoc.tar.gz`" = "`cat sqlite2mdoc.tar.gz.sha512`" ] || \
{ echo "Checksum does not match." 1>&2 ; exit 1 ; }
mkdir -p .distcheck
( cd .distcheck && tar -zvxpf ../sqlite2mdoc.tar.gz )
( cd .distcheck/sqlite2mdoc-$(VERSION) && ./configure PREFIX=prefix )
( cd .distcheck/sqlite2mdoc-$(VERSION) && $(MAKE) )
( cd .distcheck/sqlite2mdoc-$(VERSION) && $(MAKE) regress )
( cd .distcheck/sqlite2mdoc-$(VERSION) && $(MAKE) install )
rm -rf .distcheck
distclean: clean
rm -f config.h config.log Makefile.configure
valgrind: all
@for f in regress/*.h ; do \
echo "valgrind $(VALGRIND_ARGS) ./sqlite2mdoc -n $$f" ; \
valgrind $(VALGRIND_ARGS) ./sqlite2mdoc -n $$f >/dev/null ; \
done
regen_regress: all
@for f in regress/*.h ; do \
ver=`basename $$f .h | sed -e 's!sqlite3-!!'` ; \
mkdir -p regress/expect-$$ver/tmp ; \
./sqlite2mdoc -p regress/expect-$$ver/tmp regress/sqlite3-$$ver.h ; \
for f in regress/expect-$$ver/tmp/*.3 ; do \
bn=`basename $$f` ; \
echo $$bn ; \
sed 1d $$f > regress/expect-$$ver/$$bn.tmp ; \
set +e ; \
if [ -f regress/expect-$$ver/$$bn ]; then \
cmp regress/expect-$$ver/$$bn.tmp regress/expect-$$ver/$$bn >/dev/null 2>&1 ; \
if [ $$? -ne 0 ] ; then \
diff -u regress/expect-$$ver/$$bn regress/expect-$$ver/$$bn.tmp ; \
fi ; \
fi ; \
mv -f regress/expect-$$ver/$$bn.tmp regress/expect-$$ver/$$bn ; \
set -e ; \
done ; \
rm -rf regress/expect-$$ver/tmp ; \
done
regress: all
@for f in regress/*.h ; do \
ver=`basename $$f .h | sed -e 's!sqlite3-!!'` ; \
rm -rf regress/out ; \
mkdir -p regress/out ; \
./sqlite2mdoc -p regress/out $$f ; \
for f in regress/out/*.3 ; do \
sed 1d $$f > $$f.tmp ; \
mv -f $$f.tmp $$f ; \
done ; \
for f in regress/out/*.3 ; do \
echo diff $$f regress/expect-$$ver/`basename $$f` ; \
diff -u $$f regress/expect-$$ver/`basename $$f` ; \
done ; \
for f in regress/expect-$$ver/*.3 ; do \
echo diff $$f regress/out/`basename $$f` ; \
diff -u $$f regress/out/`basename $$f` ; \
done ; \
done
rm -rf regress/out
clean:
rm -f sqlite2mdoc $(OBJS) compats.o
rm -f sqlite2mdoc.tar.gz sqlite2mdoc.tar.gz.sha512
rm -rf regress/out