summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorC. McEnroe2021-05-04 12:09:46 -0400
committerC. McEnroe2021-05-04 12:13:50 -0400
commitff87d561bd545c715dbe6beb813724a28535e7f4 (patch)
treee67589c55806edb9e8e42af4895b3358a6e54e47
parent94f79e889fd70026efb742cdf6d5c2099184a918 (diff)
Add support for BINDIR, fix default MANDIR, use LDADD vars
I avoided defaulting MANDIR to /usr/local/man because I thought it didn't work on GNU/Linux and users would be confused, but it turns out man-db's default configuration includes both /usr/local/man and /usr/man, so ${PREFIX}/man is a sensical default.
-rw-r--r--Makefile26
-rwxr-xr-xconfigure21
2 files changed, 25 insertions, 22 deletions
diff --git a/Makefile b/Makefile
index 5caa3ba..b285e8c 100644
--- a/Makefile
+++ b/Makefile
@@ -1,12 +1,16 @@
PREFIX ?= /usr/local
-MANDIR ?= ${PREFIX}/share/man
+BINDIR ?= ${PREFIX}/bin
+MANDIR ?= ${PREFIX}/man
CEXTS = gnu-case-range gnu-conditional-omitted-operand
CFLAGS += -std=c11 -Wall -Wextra -Wpedantic ${CEXTS:%=-Wno-%}
-LDLIBS = -lncursesw -ltls
+LDADD.libtls = -ltls
+LDADD.ncursesw = -lncursesw
-include config.mk
+LDLIBS = ${LDADD.libtls} ${LDADD.ncursesw}
+
OBJS += buffer.o
OBJS += chat.o
OBJS += command.o
@@ -30,30 +34,30 @@ catgirl: ${OBJS}
${OBJS}: chat.h
-tags: *.h *.c
- ctags -w *.h *.c
+tags: *.[ch]
+ ctags -w *.[ch]
clean:
- rm -f tags catgirl ${OBJS}
+ rm -f catgirl ${OBJS} tags
install: catgirl catgirl.1
- install -d ${DESTDIR}${PREFIX}/bin ${DESTDIR}${MANDIR}/man1
- install catgirl ${DESTDIR}${PREFIX}/bin
+ install -d ${DESTDIR}${BINDIR} ${DESTDIR}${MANDIR}/man1
+ install catgirl ${DESTDIR}${BINDIR}
install -m 644 catgirl.1 ${DESTDIR}${MANDIR}/man1
uninstall:
- rm -f ${DESTDIR}${PREFIX}/bin/catgirl ${DESTDIR}${MANDIR}/man1/catgirl.1
+ rm -f ${DESTDIR}${BINDIR}/catgirl ${DESTDIR}${MANDIR}/man1/catgirl.1
scripts/sandman: scripts/sandman.o
${CC} ${LDFLAGS} scripts/sandman.o -framework Cocoa -o $@
install-sandman: scripts/sandman scripts/sandman.1
- install -d ${DESTDIR}${PREFIX}/bin ${DESTDIR}${MANDIR}/man1
- install scripts/sandman ${DESTDIR}${PREFIX}/bin
+ install -d ${DESTDIR}${BINDIR} ${DESTDIR}${MANDIR}/man1
+ install scripts/sandman ${DESTDIR}${BINDIR}
install -m 644 scripts/sandman.1 ${DESTDIR}${MANDIR}/man1
uninstall-sandman:
- rm -f ${DESTDIR}${PREFIX}/bin/sandman ${DESTDIR}${MANDIR}/man1/sandman.1
+ rm -f ${DESTDIR}${BINDIR}/sandman ${DESTDIR}${MANDIR}/man1/sandman.1
CHROOT_USER = chat
CHROOT_GROUP = ${CHROOT_USER}
diff --git a/configure b/configure
index 02bf093..4199980 100755
--- a/configure
+++ b/configure
@@ -4,27 +4,28 @@ set -eu
cflags() {
echo "CFLAGS += $*"
}
-ldlibs() {
- echo "LDLIBS ${o:-}= $*"
- o=+
-}
-config() {
- pkg-config --print-errors "$@"
- cflags $(pkg-config --cflags "$@")
- ldlibs $(pkg-config --libs "$@")
-}
defstr() {
cflags "-D'$1=\"$2\"'"
}
defvar() {
defstr "$1" "$(pkg-config --variable=$3 $2)${4:-}"
}
+ldadd() {
+ lib=$1; shift
+ echo "LDADD.${lib} = $*"
+}
+config() {
+ pkg-config --print-errors "$@"
+ cflags $(pkg-config --cflags "$@")
+ for lib; do ldadd $lib $(pkg-config --libs $lib); done
+}
exec >config.mk
for opt; do
case "${opt}" in
(--prefix=*) echo "PREFIX = ${opt#*=}" ;;
+ (--bindir=*) echo "BINDIR = ${opt#*=}" ;;
(--mandir=*) echo "MANDIR = ${opt#*=}" ;;
(*) echo "warning: unsupported option ${opt}" >&2 ;;
esac
@@ -32,12 +33,10 @@ done
case "$(uname)" in
(FreeBSD)
- ldlibs -lncursesw
config libtls
defstr OPENSSL_BIN /usr/bin/openssl
;;
(OpenBSD)
- ldlibs -lncursesw -ltls
defstr OPENSSL_BIN /usr/bin/openssl
;;
(Linux)