#!/bin/sh 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:-}" } exec >config.mk for opt; do case "${opt}" in (--prefix=*) echo "PREFIX = ${opt#*=}" ;; (--mandir=*) echo "MANDIR = ${opt#*=}" ;; (*) echo "warning: unsupported option ${opt}" >&2 ;; esac done case "$(uname)" in (FreeBSD) ldlibs -lcrypt config libcrypto libtls defvar OPENSSL_BIN openssl exec_prefix /bin/openssl defstr CERTBOT_PATH /usr/local/etc/letsencrypt echo 'INSTALLS = install-rcs install-dirs' ;; (Linux) cflags -D_GNU_SOURCE ldlibs -lcrypt config libcrypto libtls defvar OPENSSL_BIN openssl exec_prefix /bin/openssl ;; (Darwin) config libcrypto libtls defvar OPENSSL_BIN openssl exec_prefix /bin/openssl ;; (*) ldlibs -lcrypt config libcrypto libtls defvar OPENSSL_BIN openssl exec_prefix /bin/openssl ;; esac