@@ -1,30 +1,37 @@ +B = build +E = ext + pq-inc != pkg-config --cflags libpq pq-lib != pkg-config --libs libpq -cc-flags = -std=c2x $(pq-inc) -ld-flags = $(pq-lib) +wg-inc = -I$E/wglib -B = build +dbg-flags = $(if $(debug),-g -D_cfg_debug,) +cc-flags = -std=c2x $(pq-inc) $(wg-inc) $(dbg-flags) +ld-flags = $(pq-lib) $(dbg-flags) + # link rule .PHONY: wgsync -$B/wgsync: $B/wgsync.o $B/wireguard.o | $B/ +$B/wgsync: $B/wgsync.o $B/pqp.o $B/def.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/ +$B/wireguard.o: $E/wglib/wireguard.c $E/wglib/wireguard.h | $B/ $(CC) -std=c11 -c $< -o $@ # dep listings -$B/wgsync.o: ext/wglib/wireguard.h +$B/wgsync.o: $E/wglib/wireguard.h src/pqp.h src/def.h +$B/pqp.o: src/pqp.h src/def.h +$B/def.o: src/def.h # fetch rules %/: mkdir -p $@ wg-lib-uri = https://git.zx2c4.com/wireguard-tools/plain/contrib/embeddable-wg-library -ext/wglib/%: | ext/wglib/ +$E/wglib/%: | $E/wglib/ curl $(wg-lib-uri)/$* >$@