Blob


1 include config.mk
3 # -- options --
5 PREFIX = /usr/local
6 SBINDIR = ${PREFIX}/sbin
7 MANDIR = ${PREFIX}/man
8 WWWDIR = /var/www/htdocs
10 # -- build-related variables --
12 PROG = pkg_fcgi
13 VERSION = 0.1
14 DISTNAME = ${PROG}-${VERSION}
16 SRCS = pkg_fcgi.c fcgi.c log.c server.c xmalloc.c
18 COBJS = ${COMPATS:.c=.o}
19 OBJS = ${SRCS:.c=.o} ${COBJS}
21 MAN = ${PROG}.conf.5 ${PROG}.8
23 # -- public targets --
25 all: ${PROG}
26 .PHONY: all clean distclean install uninstall
28 clean:
29 rm -f *.[do] compat/*.[do] tests/*.[do] ui.c ${PROG}
30 # ${MAKE} -C template clean
32 distclean: clean
33 rm -f config.h config.h.old config.mk config.log config.log.old
34 # ${MAKE} -C template distclean
36 install:
37 mkdir -p ${DESTDIR}${MANDIR}/man5
38 mkdir -p ${DESTDIR}${MANDIR}/man8
39 mkdir -p ${DESTDIR}${SBINDIR}
40 mkdir -p ${DESTDIR}${WWWDIR}
41 ${INSTALL_MAN} galileo.conf.5 ${DESTDIR}${MANDIR}/man5/${PROG}.conf.5
42 ${INSTALL_MAN} galileo.8 ${DESTDIR}${MANDIR}/man8/${PROG}.8
43 ${INSTALL_PROGRAM} ${PROG} ${DESTDIR}${SBINDIR}
44 ${INSTALL_DATA} galileo.css ${DESTDIR}${WWWDIR}
46 uninstall:
47 rm ${DESTDIR}${MANDIR}/man5/${PROG}.conf.5
48 rm ${DESTDIR}${MANDIR}/man8/${PROG}.8
49 rm ${DESTDIR}${SBINDIR}/${PROG}
50 rm ${DESTDIR}${WWWDIR}/galileo.css
52 # -- internal build targets --
54 ${PROG}: ${OBJS}
55 ${CC} -o $@ ${OBJS} ${LIBS} ${LDFLAGS}
57 #ui.c: ui.tmpl
58 # ${MAKE} -C template
59 # ./template/template -o $@ ui.tmpl
61 .c.o:
62 ${CC} ${CFLAGS} -c $< -o $@
64 # -- maintainer targets --
66 PRIVKEY = set-PRIVKEY
67 DISTFILES = CHANGES \
68 Makefile \
69 README \
70 configure \
71 fcgi.c \
72 pkg_fcgi.8 \
73 pkg_fcgi.c \
74 pkg_fcgi.css \
75 pkg_fcgi.h \
76 log.c \
77 log.h \
78 server.c \
79 ui.c \
80 ui.tmpl \
81 xmalloc.c \
82 xmalloc.h \
84 .PHONY: release dist
86 release: ${DISTNAME}.sha256.sig
87 dist: ${DISTNAME}.sha256
89 ${DISTNAME}.sha256.sig: ${DISTNAME}.sha256
90 signify -S -e -m ${DISTNAME}.sha256 -s ${PRIVKEY}
92 ${DISTNAME}.sha256: ${DISTNAME}.tar.gz
93 sha256 ${DISTNAME}.tar.gz > $@
95 ${DISTNAME}.tar.gz: ${DISTFILES}
96 mkdir -p .dist/${DISTNAME}/
97 ${INSTALL} -m 0644 ${DISTFILES} .dist/${DISTNAME}
98 ${MAKE} -C compat DESTDIR=${PWD}/.dist/${DISTNAME}/compat dist
99 ${MAKE} -C keys DESTDIR=${PWD}/.dist/${DISTNAME}/keys dist
100 ${MAKE} -C template DESTDIR=${PWD}/.dist/${DISTNAME}/template dist
101 ${MAKE} -C tests DESTDIR=${PWD}/.dist/${DISTNAME}/tests dist
102 cd .dist/${DISTNAME} && chmod 755 configure template/configure
103 cd .dist && tar czf ../$@ ${DISTNAME}
104 rm -rf .dist/
106 .PHONY: ${DISTNAME}.tar.gz
108 # -- dependencies --
110 -include fcgi.d
111 -include log.d
112 -include pgk_fcgi.d
113 -include server.d
114 -include ui.d
115 -include xmalloc.d