diff options
author | June McEnroe <june@causal.agency> | 2021-05-02 20:35:48 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2021-05-02 20:35:48 -0400 |
commit | 8d27209e1872046eb1eba24a7ff85488f6c28ed4 (patch) | |
tree | 71194623fbc21cfa27054cc263e76a2da9f63c0f /Makefile | |
parent | palaver: Exit on getopt failure (diff) | |
download | pounce-8d27209e1872046eb1eba24a7ff85488f6c28ed4.tar.gz pounce-8d27209e1872046eb1eba24a7ff85488f6c28ed4.zip |
Clean up Makefiles, configure scripts
Default MANDIR to ${PREFIX}/man since it turns out man-db includes /usr/local/man by default. Add support for BINDIR. Separate libs out into LDADD variables.
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 61 |
1 files changed, 34 insertions, 27 deletions
diff --git a/Makefile b/Makefile index 75b020d..39324d8 100644 --- a/Makefile +++ b/Makefile @@ -1,53 +1,60 @@ PREFIX ?= /usr/local -MANDIR ?= ${PREFIX}/share/man +BINDIR ?= ${PREFIX}/bin +MANDIR ?= ${PREFIX}/man CFLAGS += -std=c11 -Wall -Wextra -Wpedantic -LDLIBS = -lcrypt -ltls +LDADD.crypt = -lcrypt +LDADD.libtls = -ltls BINS = calico pounce MANS = ${BINS:=.1} -include config.mk -OBJS += bounce.o -OBJS += cert.o -OBJS += client.o -OBJS += config.o -OBJS += local.o -OBJS += ring.o -OBJS += server.o -OBJS += state.o -OBJS += xdg.o +LDLIBS.calico = +LDLIBS.pounce = ${LDADD.crypt} ${LDADD.libtls} + +OBJS.calico += dispatch.o + +OBJS.pounce += bounce.o +OBJS.pounce += cert.o +OBJS.pounce += client.o +OBJS.pounce += config.o +OBJS.pounce += local.o +OBJS.pounce += ring.o +OBJS.pounce += server.o +OBJS.pounce += state.o +OBJS.pounce += xdg.o + +OBJS = ${OBJS.calico} ${OBJS.pounce} dev: tags all all: ${BINS} -calico: dispatch.o - ${CC} ${LDFLAGS} dispatch.o -o $@ +calico: ${OBJS.calico} + +pounce: ${OBJS.pounce} -pounce: ${OBJS} - ${CC} ${LDFLAGS} ${OBJS} ${LDLIBS} -o $@ +${BINS}: + ${CC} ${LDFLAGS} ${OBJS.$@} ${LDLIBS.$@} -o $@ -${OBJS}: bounce.h +${OBJS.pounce}: bounce.h -tags: *.c *.h - ctags -w *.c *.h +tags: *.[ch] + ctags -w *.[ch] clean: - rm -f tags ${BINS} ${OBJS} dispatch.o + rm -f ${BINS} ${OBJS} tags install: ${BINS} ${MANS} - install -d ${DESTDIR}${PREFIX}/bin ${DESTDIR}${MANDIR}/man1 - install ${BINS} ${DESTDIR}${PREFIX}/bin + install -d ${DESTDIR}${BINDIR} ${DESTDIR}${MANDIR}/man1 + install ${BINS} ${DESTDIR}${BINDIR} install -m 644 ${MANS} ${DESTDIR}${MANDIR}/man1 uninstall: - rm -f ${BINS:%=${DESTDIR}${PREFIX}/bin/%} + rm -f ${BINS:%=${DESTDIR}${BINDIR}/%} rm -f ${MANS:%=${DESTDIR}${MANDIR}/man1/%} -localhost.crt: - printf "[dn]\nCN=localhost\n[req]\ndistinguished_name=dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth" \ - | openssl req -x509 -out localhost.crt -keyout localhost.key \ - -newkey rsa:2048 -nodes -sha256 \ - -subj '/CN=localhost' -extensions EXT -config /dev/fd/0 +localhost.pem: pounce + ./pounce -g $@ |