1 c423c56e 2022-09-25 op include config.mk
3 c423c56e 2022-09-25 op # -- options --
5 c423c56e 2022-09-25 op PREFIX = /usr/local
6 c423c56e 2022-09-25 op SBINDIR = ${PREFIX}/sbin
7 c423c56e 2022-09-25 op MANDIR = ${PREFIX}/man
9 c423c56e 2022-09-25 op # -- build-related variables --
11 b0a6bcf7 2022-09-13 op PROG = galileo
13 c423c56e 2022-09-25 op DISTNAME = ${PROG}-${VERSION}
15 c423c56e 2022-09-25 op SRCS = galileo.c config.c fcgi.c fragments.o log.c proc.c proxy.c \
16 c423c56e 2022-09-25 op template/tmpl.c xmalloc.c y.tab.c
18 c423c56e 2022-09-25 op COBJS = ${COMPATS:.c=.o}
19 c423c56e 2022-09-25 op OBJS = ${SRCS:.c=.o} ${COBJS}
21 71d4bcee 2022-09-14 op MAN = ${PROG}.conf.5 ${PROG}.8
23 c423c56e 2022-09-25 op # -- public targets --
26 c423c56e 2022-09-25 op .PHONY: all clean distclean install uninstall
29 c423c56e 2022-09-25 op rm -f *.[do] y.tab.* compat/*.[do] tests/*.[do] fragments.c
30 c423c56e 2022-09-25 op ${MAKE} -C template clean
32 c423c56e 2022-09-25 op distclean: clean
33 c423c56e 2022-09-25 op rm -f config.h config.h.old config.mk config.log config.log.old
34 c423c56e 2022-09-25 op ${MAKE} -C template distclean
37 c423c56e 2022-09-25 op mkdir -p ${DESTDIR}${MANDIR}/man5
38 c423c56e 2022-09-25 op mkdir -p ${DESTDIR}${MANDIR}/man8
39 c423c56e 2022-09-25 op mkdir -p ${DESTDIR}${SBINDIR}
40 c423c56e 2022-09-25 op mkdir -p ${DESTDIR}${WWWDIR}
41 c423c56e 2022-09-25 op ${INSTALL_MAN} galileo.conf.5 ${DESTDIR}${MANDIR}/man5/${PROG}.conf.5
42 c423c56e 2022-09-25 op ${INSTALL_MAN} galileo.8 ${DESTDIR}${MANDIR}/man8/${PROG}.8
43 c423c56e 2022-09-25 op ${INSTALL_PROGRAM} ${PROG} ${DESTDIR}${SBINDIR}
44 c423c56e 2022-09-25 op ${INSTALL_DATA} galileo.css ${DESTDIR}${WWWDIR}
47 c423c56e 2022-09-25 op rm ${DESTDIR}${MANDIR}/man5/${PROG}.conf.5
48 c423c56e 2022-09-25 op rm ${DESTDIR}${MANDIR}/man8/${PROG}.8
49 c423c56e 2022-09-25 op rm ${DESTDIR}${SBINDIR}/${PROG}
50 c423c56e 2022-09-25 op rm ${DESTDIR}${WWWDIR}/galileo.css
52 c423c56e 2022-09-25 op # -- internal build targets --
54 c423c56e 2022-09-25 op ${PROG}: ${OBJS}
55 c423c56e 2022-09-25 op ${CC} -o $@ ${OBJS} ${LIBS} ${LDFLAGS}
57 c423c56e 2022-09-25 op template/template:
58 c423c56e 2022-09-25 op ${MAKE} -C template
60 c423c56e 2022-09-25 op fragments.c: template/template fragments.tmpl
61 c423c56e 2022-09-25 op ./template/template fragments.tmpl > $@ || rm -f $@
63 c423c56e 2022-09-25 op y.tab.c: parse.y
64 c423c56e 2022-09-25 op ${YACC} -b y parse.y
67 c423c56e 2022-09-25 op ${CC} ${CFLAGS} -c $< -o $@
69 c423c56e 2022-09-25 op # -- maintainer targets --
71 c423c56e 2022-09-25 op DISTFILES = Makefile \
77 c423c56e 2022-09-25 op fragments.tmpl \
80 c423c56e 2022-09-25 op galileo.conf.5 \
93 c423c56e 2022-09-25 op dist: ${DISTNAME}.sha256
95 c423c56e 2022-09-25 op ${DISTNAME}.sha256: ${DISTNAME}.tar.gz
96 c423c56e 2022-09-25 op sha256 ${DISTNAME}.tar.gz > $@
98 c423c56e 2022-09-25 op ${DISTNAME}.tar.gz: ${DISTFILES}
99 c423c56e 2022-09-25 op mkdir -p .dist/${DISTNAME}/
100 c423c56e 2022-09-25 op ${INSTALL} -m 0644 ${DISTFILES} .dist/${DISTNAME}
101 c423c56e 2022-09-25 op ${MAKE} -C compat DESTDIR=${PWD}/.dist/${DISTNAME}/compat dist
102 c423c56e 2022-09-25 op ${MAKE} -C template DESTDIR=${PWD}/.dist/${DISTNAME}/template dist
103 c423c56e 2022-09-25 op ${MAKE} -C tests DESTDIR=${PWD}/.dist/${DISTNAME}/tests dist
104 c423c56e 2022-09-25 op cd .dist/${DISTNAME} && chmod 755 configure template/configure
105 c423c56e 2022-09-25 op cd .dist && tar czf ../$@ ${DISTNAME}
106 c423c56e 2022-09-25 op rm -rf .dist/
108 c423c56e 2022-09-25 op .PHONY: ${DISTNAME}.tar.gz
110 c423c56e 2022-09-25 op # -- dependencies --
112 c423c56e 2022-09-25 op galileo.o: galileo.c
113 c423c56e 2022-09-25 op config.o: config.c
114 c423c56e 2022-09-25 op fcgi.o: fcgi.c
115 c423c56e 2022-09-25 op fragments.o: fragments.c
117 c423c56e 2022-09-25 op parse.o: parse.c
118 c423c56e 2022-09-25 op proc.o: proc.c
119 c423c56e 2022-09-25 op proxy.o: proxy.c
120 c423c56e 2022-09-25 op tmpl.o: template/tmpl.c
121 c423c56e 2022-09-25 op xmalloc.o: xmalloc.c
123 c423c56e 2022-09-25 op -include galileo.d
124 c423c56e 2022-09-25 op -include config.d
125 c423c56e 2022-09-25 op -include fcgi.d
126 c423c56e 2022-09-25 op -include fragments.d
127 c423c56e 2022-09-25 op -include log.d
128 c423c56e 2022-09-25 op -include parse.d
129 c423c56e 2022-09-25 op -include proc.d
130 c423c56e 2022-09-25 op -include proxy.d
131 c423c56e 2022-09-25 op -include tmpl.d
132 c423c56e 2022-09-25 op -include xmalloc.d