5 BINDIR= ${LOCALBASE}/libexec/opensmtpd/
6 MANDIR= ${LOCALBASE}/share/man/man8
8 SRCS+= main.c mheader.c
11 CRYPT_CFLAGS!= pkg-config --cflags ${LIBCRYPTOPC}
12 CRYPT_LDFLAGS_L!=pkg-config --libs-only-L ${LIBCRYPTOPC}
13 CRYPT_LDFLAGS_libdir!=pkg-config --variable libdir ${LIBCRYPTOPC}
14 CRYPT_LDFLAGS= ${CRYPT_LDFLAGS_L}
15 CRYPT_LDFLAGS+= -Wl,-rpath,${CRYPT_LDFLAGS_libdir}
16 CRYPT_LDADD!= pkg-config --libs-only-l ${LIBCRYPTOPC}
23 CFLAGS+= -I${LOCALBASE}/include
24 CFLAGS+= -Wall -I${.CURDIR}
25 CFLAGS+= -Wstrict-prototypes -Wmissing-prototypes
26 CFLAGS+= -Wmissing-declarations
27 CFLAGS+= -Wshadow -Wpointer-arith -Wcast-qual
28 CFLAGS+= -Wsign-compare
29 CFLAGS+= ${CRYPT_CFLAGS}
30 CFLAGS+= -I${CURDIR} -I${CURDIR}/openbsd-compat/
32 LDFLAGS+= -L${LOCALBASE}/lib
33 LDFLAGS+= ${CRYPT_LDFLAGS}
34 LDADD+= ${CRYPT_LDADD} -lopensmtpd
39 NEED_RECALLOCARRAY?= 1
53 ifeq (${MANFORMAT}, mangz)
55 CLEANFILES+= ${TARGET_MAN}
57 mandoc -Tman ${MAN} | gzip > $@
62 ifeq (${NEED_REALLOCARRAY}, 1)
63 SRCS+= ${CURDIR}/openbsd-compat/reallocarray.c
64 CFLAGS+= -DNEED_REALLOCARRAY=1
66 reallocarray.o: ${CURDIR}/openbsd-compat/reallocarray.c
67 ${CC} ${CFLAGS} -c -o reallocarray.o ${CURDIR}/openbsd-compat/reallocarray.c
69 ifeq (${NEED_RECALLOCARRAY}, 1)
70 SRCS+= ${CURDIR}/openbsd-compat/recallocarray.c
71 CFLAGS+= -DNEED_RECALLOCARRAY=1
73 recallocarray.o: ${CURDIR}/openbsd-compat/recallocarray.c
74 ${CC} ${CFLAGS} -c -o recallocarray.o ${CURDIR}/openbsd-compat/recallocarray.c
76 ifeq (${NEED_STRLCAT}, 1)
77 SRCS+= ${CURDIR}/openbsd-compat/strlcat.c
78 CFLAGS+= -DNEED_STRLCAT=1
80 strlcat.o: ${CURDIR}/openbsd-compat/strlcat.c
81 ${CC} ${CFLAGS} -c -o strlcat.o ${CURDIR}/openbsd-compat/strlcat.c
83 ifeq (${NEED_STRTONUM}, 1)
84 SRCS+= ${CURDIR}/openbsd-compat/strtonum.c
85 CFLAGS+= -DNEED_STRTONUM=1
87 strtonum.o: ${CURDIR}/openbsd-compat/strtonum.c
88 ${CC} ${CFLAGS} -c -o strtonum.o ${CURDIR}/openbsd-compat/strtonum.c
90 ifeq (${NEED_PLEDGE}, 1)
91 CFLAGS+= -DNEED_PLEDGE=1
95 ${CC} ${CFLAGS} -MM $< >$@
96 CLEANFILES+= ${SRCS:.c=.d}
98 OBJS= ${notdir ${SRCS:.c=.o}}
102 ${CC} ${LDFLAGS} -o $@ ${OBJS} ${LDADD}
106 all: ${PROG} ${TARGET_MAN}
115 ${INSTALL} -D -o ${BINOWN} -g ${BINGRP} -m ${BINPERM} ${PROG} ${DESTDIR}${BINDIR}/${PROG}
116 ${INSTALL} -D -o ${MANOWN} -g ${MANGRP} -m ${MANPERM} ${TARGET_MAN} ${DESTDIR}${MANDIR}/${TARGET_MAN}