1 96e3c013 2022-07-04 op # Copyright (c) 2022 Omar Polo <op@omarpolo.com>
2 96e3c013 2022-07-04 op # Copyright (c) 2011, 2013-2022 Ingo Schwarze <schwarze@openbsd.org>
3 96e3c013 2022-07-04 op # Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
5 96e3c013 2022-07-04 op # Permission to use, copy, modify, and distribute this software for any
6 96e3c013 2022-07-04 op # purpose with or without fee is hereby granted, provided that the above
7 96e3c013 2022-07-04 op # copyright notice and this permission notice appear in all copies.
9 96e3c013 2022-07-04 op # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 96e3c013 2022-07-04 op # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 96e3c013 2022-07-04 op # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 96e3c013 2022-07-04 op # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 96e3c013 2022-07-04 op # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 96e3c013 2022-07-04 op # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 96e3c013 2022-07-04 op # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 3096da4e 2021-10-07 op # tests to run as a port of the regression suite. Leave empty to run
21 5a345722 2023-06-23 op # host to bind to during regress
22 5a345722 2023-06-23 op REGRESS_HOST = localhost
24 1610f954 2023-06-13 op # -- build-related variables --
26 1610f954 2023-06-13 op COBJS = ${COMPATS:.c=.o}
28 86693a33 2023-06-11 op GMID_SRCS = gmid.c config.c crypto.c dirs.c fcgi.c iri.c log.c \
29 86693a33 2023-06-11 op logger.c mime.c proc.c proxy.c puny.c sandbox.c \
30 86693a33 2023-06-11 op server.c utf8.c utils.c y.tab.c
32 96e3c013 2022-07-04 op GMID_OBJS = ${GMID_SRCS:.c=.o} ${COBJS}
34 86693a33 2023-06-11 op GE_SRCS = ge.c config.c crypto.c dirs.c fcgi.c iri.c log.c mime.c \
35 86693a33 2023-06-11 op proc.c proxy.c puny.c sandbox.c server.c utf8.c utils.c
37 0126d91d 2022-09-07 op GE_OBJS = ${GE_SRCS:.c=.o} ${COBJS}
39 c727f8dd 2023-06-08 op GG_SRCS = gg.c iri.c utf8.c
41 96e3c013 2022-07-04 op GG_OBJS = ${GG_SRCS:.c=.o} ${COBJS}
43 2ff1e2a9 2023-07-22 op TITAN_SRCS = titan.c iri.c utf8.c
44 2ff1e2a9 2023-07-22 op TITAN_OBJS = ${TITAN_SRCS:.c=.o} ${COBJS}
46 cbb7f9fc 2023-06-08 op SRCS = gmid.h log.h parse.y proc.h \
47 2ff1e2a9 2023-07-22 op ${GMID_SRCS} ${GE_SRCS} ${GG_SRCS} ${TITAN_SRCS}
49 96e3c013 2022-07-04 op DISTNAME = gmid-${VERSION}
51 1610f954 2023-06-13 op # -- public targets --
53 2ff1e2a9 2023-07-22 op all: config.mk gmid ge gg titan
54 24f644db 2023-06-24 op .PHONY: all tags clean cleanall test regress install
56 1610f954 2023-06-13 op config.mk config.h: configure
57 96e3c013 2022-07-04 op @echo "$@ is out of date; please run ./configure"
60 1610f954 2023-06-13 op include config.mk
63 68e38f49 2023-06-08 op rm -f *.[do] compat/*.[do] y.tab.c y.tab.h y.output gmid ge gg
64 d5f4d615 2021-02-01 op rm -f compile_flags.txt
65 8518014c 2021-07-11 op ${MAKE} -C regress clean
67 96e3c013 2022-07-04 op distclean: clean
68 1610f954 2023-06-13 op rm -f config.h config.h.old config.log config.log.old config.mk
72 8e7e7cac 2021-01-02 op ${MAKE} 'TESTS=${TESTS}' -C regress all
74 3eabd37f 2022-09-08 op install: gmid gg ge
75 ac69e83a 2021-01-21 op mkdir -p ${DESTDIR}${BINDIR}
76 ac69e83a 2021-01-21 op mkdir -p ${DESTDIR}${MANDIR}/man1
77 bf2850b9 2022-04-07 op mkdir -p ${DESTDIR}${MANDIR}/man5
78 3eabd37f 2022-09-08 op mkdir -p ${DESTDIR}${MANDIR}/man8
79 ac69e83a 2021-01-21 op ${INSTALL_PROGRAM} gmid ${DESTDIR}${BINDIR}
80 135307cf 2022-01-30 op ${INSTALL_PROGRAM} gg ${DESTDIR}${BINDIR}
81 3eabd37f 2022-09-08 op ${INSTALL_PROGRAM} ge ${DESTDIR}${BINDIR}
82 3eabd37f 2022-09-08 op ${INSTALL_MAN} gmid.8 ${DESTDIR}${MANDIR}/man8
83 bf2850b9 2022-04-07 op ${INSTALL_MAN} gmid.conf.5 ${DESTDIR}${MANDIR}/man5
84 0126d91d 2022-09-07 op ${INSTALL_MAN} ge.1 ${DESTDIR}${MANDIR}/man1
85 135307cf 2022-01-30 op ${INSTALL_MAN} gg.1 ${DESTDIR}${MANDIR}/man1
88 3eabd37f 2022-09-08 op rm ${DESTDIR}${BINDIR}/ge
89 96e3c013 2022-07-04 op rm ${DESTDIR}${BINDIR}/gg
90 96e3c013 2022-07-04 op rm ${DESTDIR}${BINDIR}/gmid
91 3eabd37f 2022-09-08 op rm ${DESTDIR}${MANDIR}/man1/ge.1
92 96e3c013 2022-07-04 op rm ${DESTDIR}${MANDIR}/man1/gg.1
93 96e3c013 2022-07-04 op rm ${DESTDIR}${MANDIR}/man5/gmid.conf.5
94 3eabd37f 2022-09-08 op rm ${DESTDIR}${MANDIR}/man8/gmid.8
99 1610f954 2023-06-13 op # --internal build targets --
101 1610f954 2023-06-13 op gmid: ${GMID_OBJS}
102 1610f954 2023-06-13 op ${CC} ${GMID_OBJS} -o $@ ${LIBS} ${LDFLAGS}
104 1610f954 2023-06-13 op ge: ${GE_OBJS}
105 1610f954 2023-06-13 op ${CC} ${GE_OBJS} -o $@ ${LIBS} ${LDFLAGS}
107 1610f954 2023-06-13 op gg: ${GG_OBJS}
108 1610f954 2023-06-13 op ${CC} ${GG_OBJS} -o $@ ${LIBS} ${LDFLAGS}
110 2ff1e2a9 2023-07-22 op titan: ${TITAN_OBJS}
111 2ff1e2a9 2023-07-22 op ${CC} ${TITAN_OBJS} -o $@ ${LIBS} ${LDFLAGS}
113 1610f954 2023-06-13 op y.tab.c: parse.y
114 1610f954 2023-06-13 op ${YACC} -b y parse.y
116 a3c5f745 2021-02-23 op # make sure we pass -o to ${CC}. OpenBSD default suffix rule doesn't
117 a3c5f745 2021-02-23 op .SUFFIXES: .c .o
119 a3c5f745 2021-02-23 op ${CC} ${CFLAGS} -c $< -o $@
121 4b93be28 2022-10-31 op # -- maintainer targets --
123 c3d502d4 2023-06-24 op .PHONY: lint release dist
126 c3d502d4 2023-06-24 op man -Tlint -Wstyle -l gmid.8 gmid.conf.5 ge.1 gg.1
128 c727f8dd 2023-06-08 op DISTFILES = .cirrus.yml .dockerignore .gitignore ChangeLog LICENSE \
129 846842e1 2023-06-08 op Makefile README.md config.c configure configure.local.example \
130 86693a33 2023-06-11 op crypto.c dirs.c fcgi.c ge.1 ge.c gg.1 gg.c gmid.8 gmid.c \
131 86693a33 2023-06-11 op gmid.conf.5 gmid.h iri.c log.c log.h logger.c mime.c \
132 86693a33 2023-06-11 op parse.y proxy.c puny.c sandbox.c server.c utf8.c utils.c \
136 5dad3900 2023-06-14 op sed -i -e '/^RELEASE=/s/no/yes' configure
138 5dad3900 2023-06-14 op sed -i -e '/^RELEASE=/s/yes/no' configure
140 96e3c013 2022-07-04 op dist: ${DISTNAME}.sha256
142 96e3c013 2022-07-04 op ${DISTNAME}.sha256: ${DISTNAME}.tar.gz
144 96e3c013 2022-07-04 op ${DISTNAME}.tar.gz: ${DISTFILES}
145 96e3c013 2022-07-04 op mkdir -p .dist/${DISTNAME}/
146 4b93be28 2022-10-31 op ${INSTALL} -m 0644 ${DISTFILES} .dist/${DISTNAME}/
147 96e3c013 2022-07-04 op cd .dist/${DISTNAME} && chmod 755 configure
148 4b93be28 2022-10-31 op ${MAKE} -C compat DESTDIR=${PWD}/.dist/${DISTNAME}/compat dist
149 4b93be28 2022-10-31 op ${MAKE} -C contrib DESTDIR=${PWD}/.dist/${DISTNAME}/contrib dist
150 4b93be28 2022-10-31 op ${MAKE} -C have DESTDIR=${PWD}/.dist/${DISTNAME}/have dist
151 4b93be28 2022-10-31 op ${MAKE} -C regress DESTDIR=${PWD}/.dist/${DISTNAME}/regress dist
152 96e3c013 2022-07-04 op cd .dist/ && tar zcf ../$@ ${DISTNAME}
153 96e3c013 2022-07-04 op rm -rf .dist/
155 68e38f49 2023-06-08 op # -- dependencies --
157 68e38f49 2023-06-08 op -include config.d
158 f29d705e 2023-06-23 op -include crypto.d
159 68e38f49 2023-06-08 op -include dirs.d
160 68e38f49 2023-06-08 op -include fcgi.d
161 f29d705e 2023-06-23 op -include ge.d
162 68e38f49 2023-06-08 op -include gg.d
163 68e38f49 2023-06-08 op -include gmid.d
164 68e38f49 2023-06-08 op -include iri.d
165 68e38f49 2023-06-08 op -include log.d
166 68e38f49 2023-06-08 op -include logger.d
167 68e38f49 2023-06-08 op -include mime.d
168 68e38f49 2023-06-08 op -include proc.d
169 68e38f49 2023-06-08 op -include proxy.d
170 68e38f49 2023-06-08 op -include puny.d
171 68e38f49 2023-06-08 op -include sandbox.d
172 68e38f49 2023-06-08 op -include server.d
173 e137cb03 2023-07-25 op -include titan.d
174 68e38f49 2023-06-08 op -include utf8.d
175 68e38f49 2023-06-08 op -include utils.d
176 68e38f49 2023-06-08 op -include y.tab.d