diff options
Diffstat (limited to '')
-rw-r--r-- | Makefile | 14 | ||||
-rwxr-xr-x | configure | 26 |
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' ;; (*) |