Blame


1 24fb1a39 2025-06-02 kirill LOCALBASE?= /usr/
2 24fb1a39 2025-06-02 kirill
3 24fb1a39 2025-06-02 kirill PROG= filter-auth
4 24fb1a39 2025-06-02 kirill MAN= filter-auth.8
5 24fb1a39 2025-06-02 kirill BINDIR= ${LOCALBASE}/libexec/opensmtpd/
6 24fb1a39 2025-06-02 kirill MANDIR= ${LOCALBASE}/share/man/man8
7 24fb1a39 2025-06-02 kirill
8 24fb1a39 2025-06-02 kirill SRCS+= main.c ltok.c unpack_dns.c
9 24fb1a39 2025-06-02 kirill
10 24fb1a39 2025-06-02 kirill ifdef HAVE_ED25519
11 24fb1a39 2025-06-02 kirill CFLAGS+= -DHAVE_ED25519
12 24fb1a39 2025-06-02 kirill endif
13 24fb1a39 2025-06-02 kirill ifdef LIBCRYPTOPC
14 24fb1a39 2025-06-02 kirill CRYPT_CFLAGS!= pkg-config --cflags ${LIBCRYPTOPC}
15 24fb1a39 2025-06-02 kirill CRYPT_LDFLAGS_L!=pkg-config --libs-only-L ${LIBCRYPTOPC}
16 24fb1a39 2025-06-02 kirill CRYPT_LDFLAGS_libdir!=pkg-config --variable libdir ${LIBCRYPTOPC}
17 24fb1a39 2025-06-02 kirill CRYPT_LDFLAGS= ${CRYPT_LDFLAGS_L}
18 24fb1a39 2025-06-02 kirill CRYPT_LDFLAGS+= -Wl,-rpath,${CRYPT_LDFLAGS_libdir}
19 24fb1a39 2025-06-02 kirill CRYPT_LDADD!= pkg-config --libs-only-l ${LIBCRYPTOPC}
20 24fb1a39 2025-06-02 kirill else
21 24fb1a39 2025-06-02 kirill CRYPT_CFLAGS=
22 24fb1a39 2025-06-02 kirill CRYPT_LDFLAGS=
23 24fb1a39 2025-06-02 kirill CRYPT_LDADD= -lcrypto
24 24fb1a39 2025-06-02 kirill endif
25 24fb1a39 2025-06-02 kirill
26 24fb1a39 2025-06-02 kirill CFLAGS+= -I${LOCALBASE}/include
27 24fb1a39 2025-06-02 kirill CFLAGS+= -Wall -I${.CURDIR}
28 24fb1a39 2025-06-02 kirill CFLAGS+= -Wstrict-prototypes -Wmissing-prototypes
29 24fb1a39 2025-06-02 kirill CFLAGS+= -Wmissing-declarations
30 24fb1a39 2025-06-02 kirill CFLAGS+= -Wshadow -Wpointer-arith -Wcast-qual
31 24fb1a39 2025-06-02 kirill CFLAGS+= -Wsign-compare
32 24fb1a39 2025-06-02 kirill CFLAGS+= ${CRYPT_CFLAGS}
33 24fb1a39 2025-06-02 kirill CFLAGS+= -I${CURDIR} -I${CURDIR}/openbsd-compat/
34 24fb1a39 2025-06-02 kirill
35 24fb1a39 2025-06-02 kirill LDFLAGS+= -L${LOCALBASE}/lib
36 24fb1a39 2025-06-02 kirill LDFLAGS+= ${CRYPT_LDFLAGS}
37 24fb1a39 2025-06-02 kirill LDADD+= ${CRYPT_LDADD} -lopensmtpd -levent
38 24fb1a39 2025-06-02 kirill
39 24fb1a39 2025-06-02 kirill INSTALL?= install
40 24fb1a39 2025-06-02 kirill
41 24fb1a39 2025-06-02 kirill NEED_RECALLOCARRAY?= 1
42 24fb1a39 2025-06-02 kirill NEED_STRTONUM?= 1
43 24fb1a39 2025-06-02 kirill NEED_PLEDGE?= 1
44 24fb1a39 2025-06-02 kirill NEED_INET_NET_PTON?= 1
45 24fb1a39 2025-06-02 kirill NEED_FGETLN?= 1
46 24fb1a39 2025-06-02 kirill NEED_LIBASR?= 1
47 24fb1a39 2025-06-02 kirill
48 24fb1a39 2025-06-02 kirill MANFORMAT?= mangz
49 24fb1a39 2025-06-02 kirill
50 24fb1a39 2025-06-02 kirill BINOWN?= root
51 24fb1a39 2025-06-02 kirill BINGRP?= root
52 24fb1a39 2025-06-02 kirill BINPERM?= 755
53 24fb1a39 2025-06-02 kirill MANOWN?= root
54 24fb1a39 2025-06-02 kirill MANGRP?= root
55 24fb1a39 2025-06-02 kirill MANPERM?= 644
56 24fb1a39 2025-06-02 kirill
57 24fb1a39 2025-06-02 kirill ifeq (${MANFORMAT}, mangz)
58 24fb1a39 2025-06-02 kirill TARGET_MAN= ${MAN}.gz
59 24fb1a39 2025-06-02 kirill CLEANFILES+= ${TARGET_MAN}
60 24fb1a39 2025-06-02 kirill ${TARGET_MAN}: ${MAN}
61 24fb1a39 2025-06-02 kirill mandoc -Tman ${MAN} | gzip > $@
62 24fb1a39 2025-06-02 kirill else
63 24fb1a39 2025-06-02 kirill TARGET_MAN= ${MAN}
64 24fb1a39 2025-06-02 kirill endif
65 24fb1a39 2025-06-02 kirill
66 24fb1a39 2025-06-02 kirill ifeq (${NEED_RECALLOCARRAY}, 1)
67 24fb1a39 2025-06-02 kirill SRCS+= ${CURDIR}/openbsd-compat/recallocarray.c
68 24fb1a39 2025-06-02 kirill CFLAGS+= -DNEED_RECALLOCARRAY=1
69 24fb1a39 2025-06-02 kirill
70 24fb1a39 2025-06-02 kirill recallocarray.o: ${CURDIR}/openbsd-compat/recallocarray.c
71 24fb1a39 2025-06-02 kirill ${CC} ${CFLAGS} -c -o recallocarray.o ${CURDIR}/openbsd-compat/recallocarray.c
72 24fb1a39 2025-06-02 kirill endif
73 24fb1a39 2025-06-02 kirill ifeq (${NEED_STRTONUM}, 1)
74 24fb1a39 2025-06-02 kirill SRCS+= ${CURDIR}/openbsd-compat/strtonum.c
75 24fb1a39 2025-06-02 kirill CFLAGS+= -DNEED_STRTONUM=1
76 24fb1a39 2025-06-02 kirill
77 24fb1a39 2025-06-02 kirill strtonum.o: ${CURDIR}/openbsd-compat/strtonum.c
78 24fb1a39 2025-06-02 kirill ${CC} ${CFLAGS} -c -o strtonum.o ${CURDIR}/openbsd-compat/strtonum.c
79 24fb1a39 2025-06-02 kirill endif
80 24fb1a39 2025-06-02 kirill ifeq (${NEED_PLEDGE}, 1)
81 24fb1a39 2025-06-02 kirill CFLAGS+= -DNEED_PLEDGE=1
82 24fb1a39 2025-06-02 kirill endif
83 24fb1a39 2025-06-02 kirill ifeq (${NEED_INET_NET_PTON}, 1)
84 24fb1a39 2025-06-02 kirill SRCS+= ${CURDIR}/openbsd-compat/inet_net_pton.c
85 24fb1a39 2025-06-02 kirill CFLAGS+= -DNEED_INET_NET_PTON=1
86 24fb1a39 2025-06-02 kirill
87 24fb1a39 2025-06-02 kirill inet_net_pton.o: ${CURDIR}/openbsd-compat/inet_net_pton.c
88 24fb1a39 2025-06-02 kirill ${CC} ${CFLAGS} -c -o inet_net_pton.o ${CURDIR}/openbsd-compat/inet_net_pton.c
89 24fb1a39 2025-06-02 kirill endif
90 24fb1a39 2025-06-02 kirill ifeq (${NEED_FGETLN}, 1)
91 24fb1a39 2025-06-02 kirill SRCS+= ${CURDIR}/openbsd-compat/fgetln.c
92 24fb1a39 2025-06-02 kirill CFLAGS+= -DNEED_FGETLN=1
93 24fb1a39 2025-06-02 kirill
94 24fb1a39 2025-06-02 kirill fgetln.o: ${CURDIR}/openbsd-compat/fgetln.c
95 24fb1a39 2025-06-02 kirill ${CC} ${CFLAGS} -c -o fgetln.o ${CURDIR}/openbsd-compat/fgetln.c
96 24fb1a39 2025-06-02 kirill endif
97 24fb1a39 2025-06-02 kirill ifeq (${NEED_LIBASR}, 1)
98 24fb1a39 2025-06-02 kirill SRCS+= ${CURDIR}/openbsd-compat/event_asr_run.c
99 24fb1a39 2025-06-02 kirill SRCS+= ${CURDIR}/openbsd-compat/libasr/asr.c
100 24fb1a39 2025-06-02 kirill SRCS+= ${CURDIR}/openbsd-compat/libasr/asr_utils.c
101 24fb1a39 2025-06-02 kirill SRCS+= ${CURDIR}/openbsd-compat/libasr/res_search_async.c
102 24fb1a39 2025-06-02 kirill SRCS+= ${CURDIR}/openbsd-compat/libasr/res_send_async.c
103 24fb1a39 2025-06-02 kirill CFLAGS+= -I${CURDIR}/openbsd-compat/libasr -DNEED_LIBASR=1
104 24fb1a39 2025-06-02 kirill
105 24fb1a39 2025-06-02 kirill event_asr_run.o: ${CURDIR}/openbsd-compat/event_asr_run.c
106 24fb1a39 2025-06-02 kirill ${CC} ${CFLAGS} -c -o event_asr_run.o ${CURDIR}/openbsd-compat/event_asr_run.c
107 24fb1a39 2025-06-02 kirill asr.o: ${CURDIR}/openbsd-compat/libasr/asr.c
108 24fb1a39 2025-06-02 kirill ${CC} ${CFLAGS} -c -o asr.o ${CURDIR}/openbsd-compat/libasr/asr.c
109 24fb1a39 2025-06-02 kirill asr_utils.o: ${CURDIR}/openbsd-compat/libasr/asr_utils.c
110 24fb1a39 2025-06-02 kirill ${CC} ${CFLAGS} -c -o asr_utils.o ${CURDIR}/openbsd-compat/libasr/asr_utils.c
111 24fb1a39 2025-06-02 kirill res_search_async.o: ${CURDIR}/openbsd-compat/libasr/res_search_async.c
112 24fb1a39 2025-06-02 kirill ${CC} ${CFLAGS} -c -o res_search_async.o ${CURDIR}/openbsd-compat/libasr/res_search_async.c
113 24fb1a39 2025-06-02 kirill res_send_async.o: ${CURDIR}/openbsd-compat/libasr/res_send_async.c
114 24fb1a39 2025-06-02 kirill ${CC} ${CFLAGS} -c -o res_send_async.o ${CURDIR}/openbsd-compat/libasr/res_send_async.c
115 24fb1a39 2025-06-02 kirill endif
116 24fb1a39 2025-06-02 kirill
117 24fb1a39 2025-06-02 kirill ${SRCS:.c=.d}:%.d:%.c
118 24fb1a39 2025-06-02 kirill ${CC} ${CFLAGS} -MM $< >$@
119 24fb1a39 2025-06-02 kirill CLEANFILES+= ${SRCS:.c=.d}
120 24fb1a39 2025-06-02 kirill
121 24fb1a39 2025-06-02 kirill OBJS= ${notdir ${SRCS:.c=.o}}
122 24fb1a39 2025-06-02 kirill CLEANFILES+= ${OBJS}
123 24fb1a39 2025-06-02 kirill
124 24fb1a39 2025-06-02 kirill ${PROG}: ${OBJS}
125 24fb1a39 2025-06-02 kirill ${CC} ${LDFLAGS} -o $@ ${OBJS} ${LDADD}
126 24fb1a39 2025-06-02 kirill
127 24fb1a39 2025-06-02 kirill .DEFAULT_GOAL= all
128 24fb1a39 2025-06-02 kirill .PHONY: all
129 24fb1a39 2025-06-02 kirill all: ${PROG} ${TARGET_MAN}
130 24fb1a39 2025-06-02 kirill CLEANFILES+= ${PROG}
131 24fb1a39 2025-06-02 kirill
132 24fb1a39 2025-06-02 kirill .PHONY: clean
133 24fb1a39 2025-06-02 kirill clean:
134 24fb1a39 2025-06-02 kirill rm -f ${CLEANFILES}
135 24fb1a39 2025-06-02 kirill
136 24fb1a39 2025-06-02 kirill .PHONY: install
137 24fb1a39 2025-06-02 kirill install: ${PROG}
138 24fb1a39 2025-06-02 kirill ${INSTALL} -D -o ${BINOWN} -g ${BINGRP} -m ${BINPERM} ${PROG} ${DESTDIR}${BINDIR}/${PROG}
139 24fb1a39 2025-06-02 kirill ${INSTALL} -D -o ${MANOWN} -g ${MANGRP} -m ${MANPERM} ${TARGET_MAN} ${DESTDIR}${MANDIR}/${TARGET_MAN}