about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2021-06-09 16:58:42 -0400
committerJune McEnroe <june@causal.agency>2021-06-09 16:58:42 -0400
commit0e5e5271203f45d3af43268c6163e6f1e3c1983e (patch)
tree5ca0397ddc2fdcb73133751c5775fcb2c731d51d
parentDon't output "0 replies" at all (diff)
downloadbubger-0e5e5271203f45d3af43268c6163e6f1e3c1983e.tar.gz
bubger-0e5e5271203f45d3af43268c6163e6f1e3c1983e.zip
Use LDADD variables and BINDIR
-rw-r--r--Makefile14
-rwxr-xr-xconfigure26
2 files changed, 24 insertions, 16 deletions
diff --git a/Makefile b/Makefile
index 25577d2..95772a3 100644
--- a/Makefile
+++ b/Makefile
@@ -1,11 +1,17 @@
 PREFIX ?= /usr/local
+BINDIR ?= ${PREFIX}/bin
 MANDIR ?= ${PREFIX}/man
 
 CFLAGS += -std=c11 -Wall -Wextra -Wpedantic
-LDLIBS = -ltls
+
+LDADD.libtls = -ltls
+LDADD.libiconv =
+LDADD.resolv =
 
 -include config.mk
 
+LDLIBS = ${LDADD.libtls} ${LDADD.libiconv} ${LDADD.resolv}
+
 OBJS += archive.o
 OBJS += atom.o
 OBJS += concat.o
@@ -35,9 +41,9 @@ clean:
 	rm -f bubger ${OBJS} tags
 
 install: bubger bubger.1
-	install -d ${DESTDIR}${PREFIX}/bin ${DESTDIR}${MANDIR}/man1
-	install bubger ${DESTDIR}${PREFIX}/bin
+	install -d ${DESTDIR}${BINDIR} ${DESTDIR}${MANDIR}/man1
+	install bubger ${DESTDIR}${BINDIR}
 	install -m 644 bubger.1 ${DESTDIR}${MANDIR}/man1
 
 uninstall:
-	rm -f ${DESTDIR}${PREFIX}/bin/bubger ${DESTDIR}${MANDIR}/man1/bubger.1
+	rm -f ${DESTDIR}${BINDIR}/bubger ${DESTDIR}${MANDIR}/man1/bubger.1
diff --git a/configure b/configure
index 38bc6d5..6283675 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
@@ -33,16 +34,17 @@ done
 case "$(uname)" in
 	(OpenBSD)
 		cflags -I/usr/local/include
-		ldlibs -L/usr/local/lib -liconv -ltls
+		ldadd libiconv -L/usr/local/lib -liconv
 		;;
 	(Darwin)
 		config libtls
-		ldlibs -liconv -lresolv
+		ldadd libiconv -liconv
+		ldadd resolv -lresolv
 		;;
 	(Linux)
 		cflags -D_GNU_SOURCE
-		ldlibs -lresolv
 		config libtls
+		ldadd resolv -lresolv
 		echo 'OBJS += compat.o'
 		;;
 	(*)