Blob


1 LOCALBASE?= /usr/local/
3 PROG= filter-dkimsign
4 MAN= filter-dkimsign.8
5 BINDIR= ${LOCALBASE}/libexec/opensmtpd/
6 MANDIR= ${LOCALBASE}/share/man/man8
8 BINOWN?= root
9 BINGRP?= root
10 BINPERM?= 755
12 SRCS+= main.c mheader.c
14 CFLAGS+=-I${LOCALBASE}/include
15 CFLAGS+=-Wall -I${.CURDIR}
16 CFLAGS+=-Wstrict-prototypes -Wmissing-prototypes
17 CFLAGS+=-Wmissing-declarations
18 CFLAGS+=-Wshadow -Wpointer-arith -Wcast-qual
19 CFLAGS+=-Wsign-compare
20 CFLAGS+=-I${CURDIR} -I${CURDIR}/openbsd-compat/
22 LDFLAGS+=-L${LOCALBASE}/lib
23 LDLIBS+=-lcrypto -lopensmtpd
25 INSTALL?= install
27 NEED_RECALLOCARRAY?= 1
28 NEED_STRLCAT?= 1
29 NEED_STRTONUM?= 1
30 NEED_PLEDGE?= 1
32 .PHONY: all
33 all: ${PROG}
35 ifeq (${NEED_RECALLOCARRAY}, 1)
36 SRCS+= ${CURDIR}/openbsd-compat/recallocarray.c
37 CFLAGS+= -DNEED_RECALLOCARRAY=1
39 recallocarray.o: ${CURDIR}/openbsd-compat/recallocarray.c
40 ${CC} ${CFLAGS} -c -o recallocarray.o ${CURDIR}/openbsd-compat/recallocarray.c
41 endif
42 ifeq (${NEED_STRLCAT}, 1)
43 SRCS+= ${CURDIR}/openbsd-compat/strlcat.c
44 CFLAGS+= -DNEED_STRLCAT=1
46 strlcat.o: ${CURDIR}/openbsd-compat/strlcat.c
47 ${CC} ${CFLAGS} -c -o strlcat.o ${CURDIR}/openbsd-compat/strlcat.c
48 endif
49 ifeq (${NEED_STRTONUM}, 1)
50 SRCS+= ${CURDIR}/openbsd-compat/strtonum.c
51 CFLAGS+= -DNEED_STRTONUM=1
53 strtonum.o: ${CURDIR}/openbsd-compat/strtonum.c
54 ${CC} ${CFLAGS} -c -o strtonum.o ${CURDIR}/openbsd-compat/strtonum.c
55 endif
56 ifeq (${NEED_PLEDGE}, 1)
57 CFLAGS+= -DNEED_PLEDGE=1
58 endif
60 ${SRCS:.c=.d}:%.d:%.c
61 ${CC} ${CFLAGS} -MM $< >$@
63 OBJS= ${notdir ${SRCS:.c=.o}}
65 ${PROG}: ${OBJS}
66 ${CC} ${LDFLAGS} -o $@ $^ ${LDLIBS}
68 .PHONY: clean
69 clean:
70 rm -f *.d *.o ${PROG}
72 .PHONY: install
73 install: ${PROG}
74 ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINPERM} ${PROG} ${BINDIR}