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 1610f954 2023-06-13 op # -- build-related variables --
23 1610f954 2023-06-13 op COBJS = ${COMPATS:.c=.o}
25 86693a33 2023-06-11 op GMID_SRCS = gmid.c config.c crypto.c dirs.c fcgi.c iri.c log.c \
26 86693a33 2023-06-11 op logger.c mime.c proc.c proxy.c puny.c sandbox.c \
27 86693a33 2023-06-11 op server.c utf8.c utils.c y.tab.c
29 96e3c013 2022-07-04 op GMID_OBJS = ${GMID_SRCS:.c=.o} ${COBJS}
31 86693a33 2023-06-11 op GE_SRCS = ge.c config.c crypto.c dirs.c fcgi.c iri.c log.c mime.c \
32 86693a33 2023-06-11 op proc.c proxy.c puny.c sandbox.c server.c utf8.c utils.c
34 0126d91d 2022-09-07 op GE_OBJS = ${GE_SRCS:.c=.o} ${COBJS}
36 c727f8dd 2023-06-08 op GG_SRCS = gg.c iri.c utf8.c
38 96e3c013 2022-07-04 op GG_OBJS = ${GG_SRCS:.c=.o} ${COBJS}
40 cbb7f9fc 2023-06-08 op SRCS = gmid.h log.h parse.y proc.h \
41 c727f8dd 2023-06-08 op ${GMID_SRCS} ${GE_SRCS} ${GG_SRCS}
43 96e3c013 2022-07-04 op DISTNAME = gmid-${VERSION}
45 1610f954 2023-06-13 op # -- public targets --
47 1610f954 2023-06-13 op all: config.mk gmid ge gg
48 34886b1e 2023-05-08 op .PHONY: all tags static clean cleanall test regress install
50 1610f954 2023-06-13 op config.mk config.h: configure
51 96e3c013 2022-07-04 op @echo "$@ is out of date; please run ./configure"
54 1610f954 2023-06-13 op include config.mk
57 68e38f49 2023-06-08 op rm -f *.[do] compat/*.[do] y.tab.c y.tab.h y.output gmid ge gg
58 d5f4d615 2021-02-01 op rm -f compile_flags.txt
59 8518014c 2021-07-11 op ${MAKE} -C regress clean
61 96e3c013 2022-07-04 op distclean: clean
62 1610f954 2023-06-13 op rm -f config.h config.h.old config.log config.log.old config.mk
66 8e7e7cac 2021-01-02 op ${MAKE} 'TESTS=${TESTS}' -C regress all
68 3eabd37f 2022-09-08 op install: gmid gg ge
69 ac69e83a 2021-01-21 op mkdir -p ${DESTDIR}${BINDIR}
70 ac69e83a 2021-01-21 op mkdir -p ${DESTDIR}${MANDIR}/man1
71 bf2850b9 2022-04-07 op mkdir -p ${DESTDIR}${MANDIR}/man5
72 3eabd37f 2022-09-08 op mkdir -p ${DESTDIR}${MANDIR}/man8
73 ac69e83a 2021-01-21 op ${INSTALL_PROGRAM} gmid ${DESTDIR}${BINDIR}
74 135307cf 2022-01-30 op ${INSTALL_PROGRAM} gg ${DESTDIR}${BINDIR}
75 3eabd37f 2022-09-08 op ${INSTALL_PROGRAM} ge ${DESTDIR}${BINDIR}
76 3eabd37f 2022-09-08 op ${INSTALL_MAN} gmid.8 ${DESTDIR}${MANDIR}/man8
77 bf2850b9 2022-04-07 op ${INSTALL_MAN} gmid.conf.5 ${DESTDIR}${MANDIR}/man5
78 0126d91d 2022-09-07 op ${INSTALL_MAN} ge.1 ${DESTDIR}${MANDIR}/man1
79 135307cf 2022-01-30 op ${INSTALL_MAN} gg.1 ${DESTDIR}${MANDIR}/man1
82 3eabd37f 2022-09-08 op rm ${DESTDIR}${BINDIR}/ge
83 96e3c013 2022-07-04 op rm ${DESTDIR}${BINDIR}/gg
84 96e3c013 2022-07-04 op rm ${DESTDIR}${BINDIR}/gmid
85 3eabd37f 2022-09-08 op rm ${DESTDIR}${MANDIR}/man1/ge.1
86 96e3c013 2022-07-04 op rm ${DESTDIR}${MANDIR}/man1/gg.1
87 96e3c013 2022-07-04 op rm ${DESTDIR}${MANDIR}/man5/gmid.conf.5
88 3eabd37f 2022-09-08 op rm ${DESTDIR}${MANDIR}/man8/gmid.8
93 1610f954 2023-06-13 op # --internal build targets --
95 1610f954 2023-06-13 op gmid: ${GMID_OBJS}
96 1610f954 2023-06-13 op ${CC} ${GMID_OBJS} -o $@ ${LIBS} ${LDFLAGS}
98 1610f954 2023-06-13 op ge: ${GE_OBJS}
99 1610f954 2023-06-13 op ${CC} ${GE_OBJS} -o $@ ${LIBS} ${LDFLAGS}
101 1610f954 2023-06-13 op gg: ${GG_OBJS}
102 1610f954 2023-06-13 op ${CC} ${GG_OBJS} -o $@ ${LIBS} ${LDFLAGS}
104 1610f954 2023-06-13 op y.tab.c: parse.y
105 1610f954 2023-06-13 op ${YACC} -b y parse.y
107 a3c5f745 2021-02-23 op # make sure we pass -o to ${CC}. OpenBSD default suffix rule doesn't
108 a3c5f745 2021-02-23 op .SUFFIXES: .c .o
110 a3c5f745 2021-02-23 op ${CC} ${CFLAGS} -c $< -o $@
112 4b93be28 2022-10-31 op # -- maintainer targets --
114 5dad3900 2023-06-14 op .PHONY: release dist
116 c727f8dd 2023-06-08 op DISTFILES = .cirrus.yml .dockerignore .gitignore ChangeLog LICENSE \
117 846842e1 2023-06-08 op Makefile README.md config.c configure configure.local.example \
118 86693a33 2023-06-11 op crypto.c dirs.c fcgi.c ge.1 ge.c gg.1 gg.c gmid.8 gmid.c \
119 86693a33 2023-06-11 op gmid.conf.5 gmid.h iri.c log.c log.h logger.c mime.c \
120 86693a33 2023-06-11 op parse.y proxy.c puny.c sandbox.c server.c utf8.c utils.c \
124 5dad3900 2023-06-14 op sed -i -e '/^RELEASE=/s/no/yes' configure
126 5dad3900 2023-06-14 op sed -i -e '/^RELEASE=/s/yes/no' configure
128 96e3c013 2022-07-04 op dist: ${DISTNAME}.sha256
130 96e3c013 2022-07-04 op ${DISTNAME}.sha256: ${DISTNAME}.tar.gz
132 96e3c013 2022-07-04 op ${DISTNAME}.tar.gz: ${DISTFILES}
133 96e3c013 2022-07-04 op mkdir -p .dist/${DISTNAME}/
134 4b93be28 2022-10-31 op ${INSTALL} -m 0644 ${DISTFILES} .dist/${DISTNAME}/
135 96e3c013 2022-07-04 op cd .dist/${DISTNAME} && chmod 755 configure
136 4b93be28 2022-10-31 op ${MAKE} -C compat DESTDIR=${PWD}/.dist/${DISTNAME}/compat dist
137 4b93be28 2022-10-31 op ${MAKE} -C contrib DESTDIR=${PWD}/.dist/${DISTNAME}/contrib dist
138 4b93be28 2022-10-31 op ${MAKE} -C have DESTDIR=${PWD}/.dist/${DISTNAME}/have dist
139 4b93be28 2022-10-31 op ${MAKE} -C regress DESTDIR=${PWD}/.dist/${DISTNAME}/regress dist
140 96e3c013 2022-07-04 op cd .dist/ && tar zcf ../$@ ${DISTNAME}
141 96e3c013 2022-07-04 op rm -rf .dist/
143 68e38f49 2023-06-08 op # -- dependencies --
145 68e38f49 2023-06-08 op -include config.d
146 f29d705e 2023-06-23 op -include crypto.d
147 68e38f49 2023-06-08 op -include dirs.d
148 68e38f49 2023-06-08 op -include fcgi.d
149 f29d705e 2023-06-23 op -include ge.d
150 68e38f49 2023-06-08 op -include gg.d
151 68e38f49 2023-06-08 op -include gmid.d
152 68e38f49 2023-06-08 op -include iri.d
153 68e38f49 2023-06-08 op -include log.d
154 68e38f49 2023-06-08 op -include logger.d
155 68e38f49 2023-06-08 op -include mime.d
156 68e38f49 2023-06-08 op -include proc.d
157 68e38f49 2023-06-08 op -include proxy.d
158 68e38f49 2023-06-08 op -include puny.d
159 68e38f49 2023-06-08 op -include sandbox.d
160 68e38f49 2023-06-08 op -include server.d
161 68e38f49 2023-06-08 op -include utf8.d
162 68e38f49 2023-06-08 op -include utils.d
163 68e38f49 2023-06-08 op -include y.tab.d