pq-inc != pkg-config --cflags libpq
pq-lib != pkg-config --libs libpq
cc-flags = -std=c2x $(pq-inc)
ld-flags = $(pq-lib)
B = build
# link rule
.PHONY: wgsync
$B/wgsync: $B/wgsync.o $B/wireguard.o | $B/
$(CC) $(ld-flags) $^ -o $@
# build rules
$B/%.o: src/%.c | $B/
$(CC) $(cc-flags) -c $< -o $@
$B/wireguard.o: ext/wglib/wireguard.c ext/wglib/wireguard.h | $B/
$(CC) -std=c11 -c $< -o $@
# dep listings
$B/wgsync.o: ext/wglib/wireguard.h
# fetch rules
%/:
mkdir -p $@
wg-lib-uri = https://git.zx2c4.com/wireguard-tools/plain/contrib/embeddable-wg-library
ext/wglib/%: | ext/wglib/
curl $(wg-lib-uri)/$* >$@