1 # Copyright (c) 2022 Omar Polo <op@omarpolo.com>
2 # Copyright (c) 2011, 2013-2022 Ingo Schwarze <schwarze@openbsd.org>
3 # Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
5 # Permission to use, copy, modify, and distribute this software for any
6 # purpose with or without fee is hereby granted, provided that the above
7 # copyright notice and this permission notice appear in all copies.
9 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 # tests to run as a port of the regression suite. Leave empty to run
35 GMID_OBJS = ${GMID_SRCS:.c=.o} ${COBJS}
50 GE_OBJS = ${GE_SRCS:.c=.o} ${COBJS}
56 GG_OBJS = ${GG_SRCS:.c=.o} ${COBJS}
65 DISTNAME = gmid-${VERSION}
67 all: Makefile.local gmid ge gg
68 .PHONY: all static clean cleanall test regress install
70 Makefile.local config.h: configure
71 @echo "$@ is out of date; please run ./configure"
74 include Makefile.local
75 include Makefile.depend
81 ${CC} ${GMID_OBJS} -o $@ ${LDFLAGS}
84 ${CC} ${GE_OBJS} -o $@ ${LDFLAGS}
87 ${CC} ${GG_OBJS} -o $@ ${LDFLAGS}
89 static: ${GMID_OBJS} ${GE_OBJS} ${GG_OBJS}
90 ${CC} ${GMID_OBJS} -o gmid ${LDFLAGS} ${STATIC}
91 ${CC} ${GG_OBJS} -o ge ${LDFLAGS} ${STATIC}
92 ${CC} ${GG_OBJS} -o gg ${LDFLAGS} ${STATIC}
95 rm -f *.o compat/*.o y.tab.c y.tab.h y.output gmid ge gg
96 rm -f compile_flags.txt
97 ${MAKE} -C regress clean
100 rm -f Makefile.local config.h config.h.old config.log config.log.old
104 ${MAKE} 'TESTS=${TESTS}' -C regress all
107 mkdir -p ${DESTDIR}${BINDIR}
108 mkdir -p ${DESTDIR}${MANDIR}/man1
109 mkdir -p ${DESTDIR}${MANDIR}/man5
110 mkdir -p ${DESTDIR}${MANDIR}/man8
111 ${INSTALL_PROGRAM} gmid ${DESTDIR}${BINDIR}
112 ${INSTALL_PROGRAM} gg ${DESTDIR}${BINDIR}
113 ${INSTALL_PROGRAM} ge ${DESTDIR}${BINDIR}
114 ${INSTALL_MAN} gmid.8 ${DESTDIR}${MANDIR}/man8
115 ${INSTALL_MAN} gmid.conf.5 ${DESTDIR}${MANDIR}/man5
116 ${INSTALL_MAN} ge.1 ${DESTDIR}${MANDIR}/man1
117 ${INSTALL_MAN} gg.1 ${DESTDIR}${MANDIR}/man1
120 rm ${DESTDIR}${BINDIR}/ge
121 rm ${DESTDIR}${BINDIR}/gg
122 rm ${DESTDIR}${BINDIR}/gmid
123 rm ${DESTDIR}${MANDIR}/man1/ge.1
124 rm ${DESTDIR}${MANDIR}/man1/gg.1
125 rm ${DESTDIR}${MANDIR}/man5/gmid.conf.5
126 rm ${DESTDIR}${MANDIR}/man8/gmid.8
128 # make sure we pass -o to ${CC}. OpenBSD default suffix rule doesn't
131 ${CC} ${CFLAGS} -c $< -o $@
133 # -- maintainer targets --
135 DISTFILES = .cirrus.yml \
144 configure.local.example \
168 depend: config.h y.tab.c
169 mkdep -f Makefile.tmp1 ${CFLAGS} ${GE_SRCS} ${GG_SRCS} ${GMID_SRCS} \
171 perl -e 'undef $$/; $$_ = <>; s|/usr/include/\S+||g; \
172 s|\\\n||g; s| +| |g; s| $$||mg; print;' \
173 Makefile.tmp1 > Makefile.tmp2
175 mv Makefile.tmp2 Makefile.depend
177 dist: ${DISTNAME}.sha256
179 ${DISTNAME}.sha256: ${DISTNAME}.tar.gz
181 ${DISTNAME}.tar.gz: ${DISTFILES}
182 mkdir -p .dist/${DISTNAME}/
183 ${INSTALL} -m 0644 ${DISTFILES} .dist/${DISTNAME}/
184 cd .dist/${DISTNAME} && chmod 755 configure
185 ${MAKE} -C compat DESTDIR=${PWD}/.dist/${DISTNAME}/compat dist
186 ${MAKE} -C contrib DESTDIR=${PWD}/.dist/${DISTNAME}/contrib dist
187 ${MAKE} -C have DESTDIR=${PWD}/.dist/${DISTNAME}/have dist
188 ${MAKE} -C regress DESTDIR=${PWD}/.dist/${DISTNAME}/regress dist
189 cd .dist/ && tar zcf ../$@ ${DISTNAME}