gmid/Makefile

152 lines
4.3 KiB
Makefile
Raw Normal View History

# Copyright (c) 2022 Omar Polo <op@omarpolo.com>
# Copyright (c) 2011, 2013-2022 Ingo Schwarze <schwarze@openbsd.org>
# Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons <kristaps@bsd.lv>
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
# tests to run as a port of the regression suite. Leave empty to run
# all.
TESTS=
GMID_SRCS = gmid.c config.c crypto.c dirs.c fcgi.c iri.c log.c \
logger.c mime.c proc.c proxy.c puny.c sandbox.c \
server.c utf8.c utils.c y.tab.c
GMID_OBJS = ${GMID_SRCS:.c=.o} ${COBJS}
GE_SRCS = ge.c config.c crypto.c dirs.c fcgi.c iri.c log.c mime.c \
proc.c proxy.c puny.c sandbox.c server.c utf8.c utils.c
2022-09-07 22:47:33 +02:00
GE_OBJS = ${GE_SRCS:.c=.o} ${COBJS}
2023-06-08 16:36:29 +02:00
GG_SRCS = gg.c iri.c utf8.c
GG_OBJS = ${GG_SRCS:.c=.o} ${COBJS}
SRCS = gmid.h log.h parse.y proc.h \
2023-06-08 16:36:29 +02:00
${GMID_SRCS} ${GE_SRCS} ${GG_SRCS}
DISTNAME = gmid-${VERSION}
2022-09-07 22:47:33 +02:00
all: Makefile.local gmid ge gg
2023-05-08 12:30:00 +02:00
.PHONY: all tags static clean cleanall test regress install
2022-10-31 23:53:16 +01:00
Makefile.local config.h: configure
@echo "$@ is out of date; please run ./configure"
@exit 1
2020-10-02 19:39:00 +02:00
include Makefile.local
2020-10-02 19:39:00 +02:00
2023-05-08 12:30:00 +02:00
tags:
ctags ${SRCS}
y.tab.c: parse.y
${YACC} -b y parse.y
gmid: ${GMID_OBJS}
${CC} ${GMID_OBJS} -o $@ ${LDFLAGS}
2023-06-08 18:22:03 +02:00
ge: ${GE_OBJS}
${CC} ${GE_OBJS} -o $@ ${LDFLAGS}
2022-09-07 22:47:33 +02:00
gg: ${GG_OBJS}
${CC} ${GG_OBJS} -o $@ ${LDFLAGS}
2022-09-07 22:47:33 +02:00
static: ${GMID_OBJS} ${GE_OBJS} ${GG_OBJS}
2022-01-30 14:05:13 +01:00
${CC} ${GMID_OBJS} -o gmid ${LDFLAGS} ${STATIC}
2022-09-07 22:47:33 +02:00
${CC} ${GG_OBJS} -o ge ${LDFLAGS} ${STATIC}
2022-03-29 14:21:08 +02:00
${CC} ${GG_OBJS} -o gg ${LDFLAGS} ${STATIC}
2020-10-02 19:39:00 +02:00
clean:
rm -f *.[do] compat/*.[do] y.tab.c y.tab.h y.output gmid ge gg
2021-02-01 20:30:38 +01:00
rm -f compile_flags.txt
${MAKE} -C regress clean
distclean: clean
rm -f Makefile.local config.h config.h.old config.log config.log.old
2022-03-26 12:57:27 +01:00
test: regress
2022-02-03 11:08:57 +01:00
regress: all
${MAKE} 'TESTS=${TESTS}' -C regress all
2021-01-22 17:48:04 +01:00
install: gmid gg ge
2021-01-21 14:50:11 +01:00
mkdir -p ${DESTDIR}${BINDIR}
mkdir -p ${DESTDIR}${MANDIR}/man1
2022-04-07 19:51:26 +02:00
mkdir -p ${DESTDIR}${MANDIR}/man5
mkdir -p ${DESTDIR}${MANDIR}/man8
2021-01-21 14:50:11 +01:00
${INSTALL_PROGRAM} gmid ${DESTDIR}${BINDIR}
2022-01-30 14:35:45 +01:00
${INSTALL_PROGRAM} gg ${DESTDIR}${BINDIR}
${INSTALL_PROGRAM} ge ${DESTDIR}${BINDIR}
${INSTALL_MAN} gmid.8 ${DESTDIR}${MANDIR}/man8
2022-04-07 19:51:26 +02:00
${INSTALL_MAN} gmid.conf.5 ${DESTDIR}${MANDIR}/man5
2022-09-07 22:47:33 +02:00
${INSTALL_MAN} ge.1 ${DESTDIR}${MANDIR}/man1
2022-01-30 14:35:45 +01:00
${INSTALL_MAN} gg.1 ${DESTDIR}${MANDIR}/man1
2021-02-01 20:30:38 +01:00
uninstall:
rm ${DESTDIR}${BINDIR}/ge
rm ${DESTDIR}${BINDIR}/gg
rm ${DESTDIR}${BINDIR}/gmid
rm ${DESTDIR}${MANDIR}/man1/ge.1
rm ${DESTDIR}${MANDIR}/man1/gg.1
rm ${DESTDIR}${MANDIR}/man5/gmid.conf.5
rm ${DESTDIR}${MANDIR}/man8/gmid.8
# make sure we pass -o to ${CC}. OpenBSD default suffix rule doesn't
.SUFFIXES: .c .o
.c.o:
${CC} ${CFLAGS} -c $< -o $@
2022-10-31 23:53:16 +01:00
# -- maintainer targets --
2023-06-08 16:36:29 +02:00
DISTFILES = .cirrus.yml .dockerignore .gitignore ChangeLog LICENSE \
2023-06-08 17:41:47 +02:00
Makefile README.md config.c configure configure.local.example \
crypto.c dirs.c fcgi.c ge.1 ge.c gg.1 gg.c gmid.8 gmid.c \
gmid.conf.5 gmid.h iri.c log.c log.h logger.c mime.c \
parse.y proxy.c puny.c sandbox.c server.c utf8.c utils.c \
y.tab.c
dist: ${DISTNAME}.sha256
${DISTNAME}.sha256: ${DISTNAME}.tar.gz
${DISTNAME}.tar.gz: ${DISTFILES}
mkdir -p .dist/${DISTNAME}/
2022-10-31 23:53:16 +01:00
${INSTALL} -m 0644 ${DISTFILES} .dist/${DISTNAME}/
cd .dist/${DISTNAME} && chmod 755 configure
2022-10-31 23:53:16 +01:00
${MAKE} -C compat DESTDIR=${PWD}/.dist/${DISTNAME}/compat dist
${MAKE} -C contrib DESTDIR=${PWD}/.dist/${DISTNAME}/contrib dist
${MAKE} -C have DESTDIR=${PWD}/.dist/${DISTNAME}/have dist
${MAKE} -C regress DESTDIR=${PWD}/.dist/${DISTNAME}/regress dist
cd .dist/ && tar zcf ../$@ ${DISTNAME}
rm -rf .dist/
# -- dependencies --
-include config.d
-include dirs.d
-include fcgi.d
-include gg.d
-include gmid.d
-include iri.d
-include log.d
-include logger.d
-include mime.d
-include proc.d
-include proxy.d
-include puny.d
-include sandbox.d
-include server.d
-include utf8.d
-include utils.d
-include y.tab.d