Blob


1 include config.mk
3 # -- options --
5 PREFIX = /usr/local
6 SBINDIR = ${PREFIX}/sbin
7 MANDIR = ${PREFIX}/man
9 # -- build-related variables --
11 PROG = pkg_fcgi
12 VERSION = 0.1
13 DISTNAME = ${PROG}-${VERSION}
15 SRCS = pkg_fcgi.c fcgi.c log.c server.c xmalloc.c
17 COBJS = ${COMPATS:.c=.o}
18 OBJS = ${SRCS:.c=.o} ${COBJS}
20 MAN = ${PROG}.conf.5 ${PROG}.8
22 # -- public targets --
24 all: ${PROG}
25 .PHONY: all clean distclean install uninstall
27 clean:
28 rm -f *.[do] compat/*.[do] tests/*.[do] ui.c ${PROG}
29 # ${MAKE} -C template clean
31 distclean: clean
32 rm -f config.h config.h.old config.mk config.log config.log.old
33 # ${MAKE} -C template distclean
35 install:
36 mkdir -p ${DESTDIR}${MANDIR}/man8
37 mkdir -p ${DESTDIR}${SBINDIR}
38 ${INSTALL_MAN} pkg_fcgi.8 ${DESTDIR}${MANDIR}/man8/${PROG}.8
39 ${INSTALL_PROGRAM} ${PROG} ${DESTDIR}${SBINDIR}
41 uninstall:
42 rm ${DESTDIR}${MANDIR}/man8/${PROG}.8
43 rm ${DESTDIR}${SBINDIR}/${PROG}
45 # -- internal build targets --
47 ${PROG}: ${OBJS}
48 ${CC} -o $@ ${OBJS} ${LIBS} ${LDFLAGS}
50 #ui.c: ui.tmpl
51 # ${MAKE} -C template
52 # ./template/template -o $@ ui.tmpl
54 .c.o:
55 ${CC} ${CFLAGS} -c $< -o $@
57 # -- maintainer targets --
59 PUBKEY = keys/pkg_fcgi-${VERSION:S/.//}.pub
60 PRIVKEY = set-PRIVKEY
61 DISTFILES = CHANGES \
62 Makefile \
63 README.md \
64 configure \
65 fcgi.c \
66 log.c \
67 log.h \
68 pkg.h \
69 pkg_fcgi.8 \
70 pkg_fcgi.c \
71 schema.sql \
72 server.c \
73 xmalloc.c \
74 xmalloc.h
76 .PHONY: release dist
78 release: ${DISTNAME}.sha256.sig
79 dist: ${DISTNAME}.sha256
81 ${DISTNAME}.sha256.sig: ${DISTNAME}.sha256
82 signify -S -e -m ${DISTNAME}.sha256 -s ${PRIVKEY}
84 ${DISTNAME}.sha256: ${DISTNAME}.tar.gz
85 sha256 ${DISTNAME}.tar.gz > $@
87 ${DISTNAME}.tar.gz: ${DISTFILES}
88 mkdir -p .dist/${DISTNAME}/
89 ${INSTALL} -m 0644 ${DISTFILES} .dist/${DISTNAME}
90 ${MAKE} -C compat DESTDIR=${PWD}/.dist/${DISTNAME}/compat dist
91 ${MAKE} -C keys DESTDIR=${PWD}/.dist/${DISTNAME}/keys dist
92 # ${MAKE} -C template DESTDIR=${PWD}/.dist/${DISTNAME}/template dist
93 ${MAKE} -C tests DESTDIR=${PWD}/.dist/${DISTNAME}/tests dist
94 cd .dist/${DISTNAME} && chmod 755 configure # template/configure
95 cd .dist && tar czf ../$@ ${DISTNAME}
96 rm -rf .dist/
98 .PHONY: ${DISTNAME}.tar.gz
100 verify-release:
101 signify -C -p ${PUBKEY} -x ${DISTNAME}.sha256.sig
103 # -- dependencies --
105 -include fcgi.d
106 -include log.d
107 -include pkg_fcgi.d
108 -include server.d
109 -include xmalloc.d