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.master
parent
94f79e889f
commit
ff87d561bd
26
Makefile
26
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}
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue