Blame


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>
4 96e3c013 2022-07-04 op #
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.
8 96e3c013 2022-07-04 op #
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.
16 96e3c013 2022-07-04 op
17 3096da4e 2021-10-07 op # tests to run as a port of the regression suite. Leave empty to run
18 3096da4e 2021-10-07 op # all.
19 3096da4e 2021-10-07 op TESTS=
20 3096da4e 2021-10-07 op
21 5a345722 2023-06-23 op # host to bind to during regress
22 5a345722 2023-06-23 op REGRESS_HOST = localhost
23 5a345722 2023-06-23 op
24 1610f954 2023-06-13 op # -- build-related variables --
25 1610f954 2023-06-13 op
26 1610f954 2023-06-13 op COBJS = ${COMPATS:.c=.o}
27 1610f954 2023-06-13 op
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
31 96e3c013 2022-07-04 op
32 96e3c013 2022-07-04 op GMID_OBJS = ${GMID_SRCS:.c=.o} ${COBJS}
33 96e3c013 2022-07-04 op
34 f5954349 2023-07-25 op GEMEXP_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
36 0126d91d 2022-09-07 op
37 f5954349 2023-07-25 op GEMEXP_OBJS = ${GEMEXP_SRCS:.c=.o} ${COBJS}
38 0126d91d 2022-09-07 op
39 f9ab77a8 2023-08-23 op GG_SRCS = gg.c iri.c log.c utf8.c
40 96e3c013 2022-07-04 op
41 96e3c013 2022-07-04 op GG_OBJS = ${GG_SRCS:.c=.o} ${COBJS}
42 96e3c013 2022-07-04 op
43 f9ab77a8 2023-08-23 op TITAN_SRCS = titan.c iri.c log.c utf8.c
44 2ff1e2a9 2023-07-22 op TITAN_OBJS = ${TITAN_SRCS:.c=.o} ${COBJS}
45 2ff1e2a9 2023-07-22 op
46 4d9d3093 2023-08-23 op SRCS = gmid.h landlock_shim.h log.h parse.y proc.h \
47 f5954349 2023-07-25 op ${GMID_SRCS} ${GEMEXP_SRCS} ${GG_SRCS} ${TITAN_SRCS}
48 96e3c013 2022-07-04 op
49 96e3c013 2022-07-04 op DISTNAME = gmid-${VERSION}
50 96e3c013 2022-07-04 op
51 1610f954 2023-06-13 op # -- public targets --
52 1610f954 2023-06-13 op
53 f5954349 2023-07-25 op all: config.mk gmid gemexp gg titan
54 24f644db 2023-06-24 op .PHONY: all tags clean cleanall test regress install
55 3e4749f7 2020-10-02 op
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"
58 96e3c013 2022-07-04 op @exit 1
59 771d8f28 2021-01-17 op
60 1610f954 2023-06-13 op include config.mk
61 771d8f28 2021-01-17 op
62 3e4749f7 2020-10-02 op clean:
63 f9ab77a8 2023-08-23 op rm -f gmid gemexp gg
64 f9ab77a8 2023-08-23 op rm -f *.[do] compat/*.[do] compat/libtls/*.[do]
65 f9ab77a8 2023-08-23 op rm -f y.tab.c y.tab.h y.output
66 d5f4d615 2021-02-01 op rm -f compile_flags.txt
67 8518014c 2021-07-11 op ${MAKE} -C regress clean
68 33d32d1f 2020-12-25 op
69 96e3c013 2022-07-04 op distclean: clean
70 1610f954 2023-06-13 op rm -f config.h config.h.old config.log config.log.old config.mk
71 96e3c013 2022-07-04 op
72 57d2fca4 2022-03-26 op test: regress
73 e2075518 2022-02-03 op regress: all
74 8e7e7cac 2021-01-02 op ${MAKE} 'TESTS=${TESTS}' -C regress all
75 5c2e310e 2021-01-22 op
76 f5954349 2023-07-25 op install: gmid gg gemexp
77 ac69e83a 2021-01-21 op mkdir -p ${DESTDIR}${BINDIR}
78 ac69e83a 2021-01-21 op mkdir -p ${DESTDIR}${MANDIR}/man1
79 bf2850b9 2022-04-07 op mkdir -p ${DESTDIR}${MANDIR}/man5
80 3eabd37f 2022-09-08 op mkdir -p ${DESTDIR}${MANDIR}/man8
81 ac69e83a 2021-01-21 op ${INSTALL_PROGRAM} gmid ${DESTDIR}${BINDIR}
82 135307cf 2022-01-30 op ${INSTALL_PROGRAM} gg ${DESTDIR}${BINDIR}
83 f5954349 2023-07-25 op ${INSTALL_PROGRAM} gemexp ${DESTDIR}${BINDIR}
84 3eabd37f 2022-09-08 op ${INSTALL_MAN} gmid.8 ${DESTDIR}${MANDIR}/man8
85 bf2850b9 2022-04-07 op ${INSTALL_MAN} gmid.conf.5 ${DESTDIR}${MANDIR}/man5
86 f5954349 2023-07-25 op ${INSTALL_MAN} gemexp.1 ${DESTDIR}${MANDIR}/man1
87 135307cf 2022-01-30 op ${INSTALL_MAN} gg.1 ${DESTDIR}${MANDIR}/man1
88 d5f4d615 2021-02-01 op
89 96e3c013 2022-07-04 op uninstall:
90 f5954349 2023-07-25 op rm ${DESTDIR}${BINDIR}/gemexp
91 96e3c013 2022-07-04 op rm ${DESTDIR}${BINDIR}/gg
92 96e3c013 2022-07-04 op rm ${DESTDIR}${BINDIR}/gmid
93 f5954349 2023-07-25 op rm ${DESTDIR}${MANDIR}/man1/gemexp.1
94 96e3c013 2022-07-04 op rm ${DESTDIR}${MANDIR}/man1/gg.1
95 96e3c013 2022-07-04 op rm ${DESTDIR}${MANDIR}/man5/gmid.conf.5
96 3eabd37f 2022-09-08 op rm ${DESTDIR}${MANDIR}/man8/gmid.8
97 a3c5f745 2021-02-23 op
98 1610f954 2023-06-13 op tags:
99 1610f954 2023-06-13 op ctags ${SRCS}
100 1610f954 2023-06-13 op
101 1610f954 2023-06-13 op # --internal build targets --
102 1610f954 2023-06-13 op
103 1610f954 2023-06-13 op gmid: ${GMID_OBJS}
104 1610f954 2023-06-13 op ${CC} ${GMID_OBJS} -o $@ ${LIBS} ${LDFLAGS}
105 1610f954 2023-06-13 op
106 f5954349 2023-07-25 op gemexp: ${GEMEXP_OBJS}
107 f5954349 2023-07-25 op ${CC} ${GEMEXP_OBJS} -o $@ ${LIBS} ${LDFLAGS}
108 1610f954 2023-06-13 op
109 1610f954 2023-06-13 op gg: ${GG_OBJS}
110 1610f954 2023-06-13 op ${CC} ${GG_OBJS} -o $@ ${LIBS} ${LDFLAGS}
111 1610f954 2023-06-13 op
112 2ff1e2a9 2023-07-22 op titan: ${TITAN_OBJS}
113 2ff1e2a9 2023-07-22 op ${CC} ${TITAN_OBJS} -o $@ ${LIBS} ${LDFLAGS}
114 2ff1e2a9 2023-07-22 op
115 1610f954 2023-06-13 op y.tab.c: parse.y
116 1610f954 2023-06-13 op ${YACC} -b y parse.y
117 1610f954 2023-06-13 op
118 a3c5f745 2021-02-23 op # make sure we pass -o to ${CC}. OpenBSD default suffix rule doesn't
119 a3c5f745 2021-02-23 op .SUFFIXES: .c .o
120 a3c5f745 2021-02-23 op .c.o:
121 a3c5f745 2021-02-23 op ${CC} ${CFLAGS} -c $< -o $@
122 96e3c013 2022-07-04 op
123 4b93be28 2022-10-31 op # -- maintainer targets --
124 4b93be28 2022-10-31 op
125 c3d502d4 2023-06-24 op .PHONY: lint release dist
126 5dad3900 2023-06-14 op
127 c3d502d4 2023-06-24 op lint:
128 603e4dd8 2023-08-03 op man -Tlint -Wstyle -l gmid.8 gmid.conf.5 gemexp.1 gg.1
129 c3d502d4 2023-06-24 op
130 c727f8dd 2023-06-08 op DISTFILES = .cirrus.yml .dockerignore .gitignore ChangeLog LICENSE \
131 ee42fb87 2023-08-23 op Makefile README.md config.c configure crypto.c dirs.c fcgi.c \
132 ee42fb87 2023-08-23 op ge.c gemexp.1 gg.1 gg.c gmid.8 gmid.c gmid.conf.5 gmid.h \
133 ee42fb87 2023-08-23 op iri.c iri.h landlock_shim.h log.c log.h logger.c mime.c \
134 ee42fb87 2023-08-23 op parse.y proc.c proc.h proxy.c puny.c sandbox.c server.c \
135 ee42fb87 2023-08-23 op titan.1 titan.c utf8.c utils.c y.tab.c
136 4b93be28 2022-10-31 op
137 5dad3900 2023-06-14 op release:
138 5dad3900 2023-06-14 op sed -i -e '/^RELEASE=/s/no/yes' configure
139 5dad3900 2023-06-14 op ${MAKE} dist
140 5dad3900 2023-06-14 op sed -i -e '/^RELEASE=/s/yes/no' configure
141 5dad3900 2023-06-14 op
142 96e3c013 2022-07-04 op dist: ${DISTNAME}.sha256
143 96e3c013 2022-07-04 op
144 96e3c013 2022-07-04 op ${DISTNAME}.sha256: ${DISTNAME}.tar.gz
145 96e3c013 2022-07-04 op
146 96e3c013 2022-07-04 op ${DISTNAME}.tar.gz: ${DISTFILES}
147 96e3c013 2022-07-04 op mkdir -p .dist/${DISTNAME}/
148 4b93be28 2022-10-31 op ${INSTALL} -m 0644 ${DISTFILES} .dist/${DISTNAME}/
149 96e3c013 2022-07-04 op cd .dist/${DISTNAME} && chmod 755 configure
150 4b93be28 2022-10-31 op ${MAKE} -C compat DESTDIR=${PWD}/.dist/${DISTNAME}/compat dist
151 4b93be28 2022-10-31 op ${MAKE} -C contrib DESTDIR=${PWD}/.dist/${DISTNAME}/contrib dist
152 4b93be28 2022-10-31 op ${MAKE} -C have DESTDIR=${PWD}/.dist/${DISTNAME}/have dist
153 4b93be28 2022-10-31 op ${MAKE} -C regress DESTDIR=${PWD}/.dist/${DISTNAME}/regress dist
154 96e3c013 2022-07-04 op cd .dist/ && tar zcf ../$@ ${DISTNAME}
155 96e3c013 2022-07-04 op rm -rf .dist/
156 68e38f49 2023-06-08 op
157 68e38f49 2023-06-08 op # -- dependencies --
158 68e38f49 2023-06-08 op
159 68e38f49 2023-06-08 op -include config.d
160 f29d705e 2023-06-23 op -include crypto.d
161 68e38f49 2023-06-08 op -include dirs.d
162 68e38f49 2023-06-08 op -include fcgi.d
163 f29d705e 2023-06-23 op -include ge.d
164 68e38f49 2023-06-08 op -include gg.d
165 68e38f49 2023-06-08 op -include gmid.d
166 68e38f49 2023-06-08 op -include iri.d
167 68e38f49 2023-06-08 op -include log.d
168 68e38f49 2023-06-08 op -include logger.d
169 68e38f49 2023-06-08 op -include mime.d
170 68e38f49 2023-06-08 op -include proc.d
171 68e38f49 2023-06-08 op -include proxy.d
172 68e38f49 2023-06-08 op -include puny.d
173 68e38f49 2023-06-08 op -include sandbox.d
174 68e38f49 2023-06-08 op -include server.d
175 e137cb03 2023-07-25 op -include titan.d
176 68e38f49 2023-06-08 op -include utf8.d
177 68e38f49 2023-06-08 op -include utils.d
178 68e38f49 2023-06-08 op -include y.tab.d