6 SBINDIR = ${PREFIX}/sbin
9 # -- build-related variables --
13 DISTNAME = ${PROG}-${VERSION}
15 SRCS = galileo.c config.c fcgi.c fragments.o log.c proc.c proxy.c \
16 template/tmpl.c xmalloc.c y.tab.c
18 COBJS = ${COMPATS:.c=.o}
19 OBJS = ${SRCS:.c=.o} ${COBJS}
21 MAN = ${PROG}.conf.5 ${PROG}.8
23 # -- public targets --
26 .PHONY: all clean distclean install uninstall
29 rm -f *.[do] y.tab.* compat/*.[do] tests/*.[do] fragments.c
30 ${MAKE} -C template clean
33 rm -f config.h config.h.old config.mk config.log config.log.old
34 ${MAKE} -C template distclean
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}
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 --
55 ${CC} -o $@ ${OBJS} ${LIBS} ${LDFLAGS}
60 fragments.c: template/template fragments.tmpl
61 ./template/template fragments.tmpl > $@ || rm -f $@
67 ${CC} ${CFLAGS} -c $< -o $@
69 # -- maintainer targets --
71 DISTFILES = Makefile \
93 dist: ${DISTNAME}.sha256
95 ${DISTNAME}.sha256: ${DISTNAME}.tar.gz
96 sha256 ${DISTNAME}.tar.gz > $@
98 ${DISTNAME}.tar.gz: ${DISTFILES}
99 mkdir -p .dist/${DISTNAME}/
100 ${INSTALL} -m 0644 ${DISTFILES} .dist/${DISTNAME}
101 ${MAKE} -C compat DESTDIR=${PWD}/.dist/${DISTNAME}/compat dist
102 ${MAKE} -C template DESTDIR=${PWD}/.dist/${DISTNAME}/template dist
103 ${MAKE} -C tests DESTDIR=${PWD}/.dist/${DISTNAME}/tests dist
104 cd .dist/${DISTNAME} && chmod 755 configure template/configure
105 cd .dist && tar czf ../$@ ${DISTNAME}
108 .PHONY: ${DISTNAME}.tar.gz
115 fragments.o: fragments.c
120 tmpl.o: template/tmpl.c