1#
2# SPDX-License-Identifier: ISC
3#
4# Copyright (c) 2019-2021 Todd C. Miller <Todd.Miller@sudo.ws>
5#
6# Permission to use, copy, modify, and distribute this software for any
7# purpose with or without fee is hereby granted, provided that the above
8# copyright notice and this permission notice appear in all copies.
9#
10# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17#
18# @configure_input@
19#
20
21#### Start of system configuration section. ####
22
23srcdir = @srcdir@
24abs_srcdir = @abs_srcdir@
25top_srcdir = @top_srcdir@
26abs_top_srcdir = @abs_top_srcdir@
27top_builddir = @top_builddir@
28abs_top_builddir = @abs_top_builddir@
29devdir = @devdir@
30scriptdir = $(top_srcdir)/scripts
31incdir = $(top_srcdir)/include
32rundir = @rundir@
33cross_compiling = @CROSS_COMPILING@
34
35# Compiler & tools to use
36CC = @CC@
37LIBTOOL = @LIBTOOL@
38SED = @SED@
39
40# Our install program supports extra flags...
41INSTALL = $(SHELL) $(scriptdir)/install-sh -c
42INSTALL_OWNER = -o $(install_uid) -g $(install_gid)
43INSTALL_BACKUP = @INSTALL_BACKUP@
44
45# Libraries
46LT_LIBS = $(top_builddir)/lib/iolog/libsudo_iolog.la \
47	  $(top_builddir)/lib/logsrv/liblogsrv.la
48LIBS = $(LT_LIBS) @LIBTLS@
49
50# C preprocessor defines
51CPPDEFS = -D_PATH_SUDO_LOGSRVD_CONF=\"$(sysconfdir)/sudo_logsrvd.conf\" \
52	  -DLOCALEDIR=\"$(localedir)\"
53
54# C preprocessor flags
55CPPFLAGS = -I$(incdir) -I$(top_builddir) -I$(devdir) -I$(srcdir) \
56	   $(CPPDEFS) @CPPFLAGS@
57
58# Usually -O and/or -g
59CFLAGS = @CFLAGS@
60
61# Flags to pass to the link stage
62LDFLAGS = @LDFLAGS@
63LT_LDFLAGS = @LT_LDFLAGS@
64
65# Flags to pass to libtool
66LTFLAGS = --tag=disable-static
67
68# Address sanitizer flags
69ASAN_CFLAGS = @ASAN_CFLAGS@
70ASAN_LDFLAGS = @ASAN_LDFLAGS@
71
72# PIE flags
73PIE_CFLAGS = @PIE_CFLAGS@
74PIE_LDFLAGS = @PIE_LDFLAGS@
75
76# Stack smashing protection flags
77SSP_CFLAGS = @SSP_CFLAGS@
78SSP_LDFLAGS = @SSP_LDFLAGS@
79
80# cppcheck options, usually set in the top-level Makefile
81CPPCHECK_OPTS = -q --enable=warning,performance,portability --suppress=constStatement --suppress=compareBoolExpressionWithInt --error-exitcode=1 --inline-suppr -Dva_copy=va_copy -U__cplusplus -UQUAD_MAX -UQUAD_MIN -UUQUAD_MAX -U_POSIX_HOST_NAME_MAX -U_POSIX_PATH_MAX -U__NBBY -DNSIG=64
82
83# splint options, usually set in the top-level Makefile
84SPLINT_OPTS = -D__restrict= -checks
85
86# PVS-studio options
87PVS_CFG = $(top_srcdir)/PVS-Studio.cfg
88PVS_IGNORE = 'V707,V011,V002,V536'
89PVS_LOG_OPTS = -a 'GA:1,2' -e -t errorfile -d $(PVS_IGNORE)
90
91# Where to install things...
92prefix = @prefix@
93exec_prefix = @exec_prefix@
94bindir = @bindir@
95sbindir = @sbindir@
96sysconfdir = @sysconfdir@
97libexecdir = @libexecdir@
98datarootdir = @datarootdir@
99localedir = @localedir@
100localstatedir = @localstatedir@
101
102# Fuzzers
103LIBFUZZSTUB = $(top_builddir)/lib/fuzzstub/libsudo_fuzzstub.la
104LIB_FUZZING_ENGINE = @FUZZ_ENGINE@
105FUZZ_PROGS = fuzz_logsrvd_conf
106FUZZ_SEED_CORPUS = ${FUZZ_PROGS:=_seed_corpus.zip}
107FUZZ_LIBS = $(LIB_FUZZING_ENGINE) $(LIBS)
108FUZZ_LDFLAGS = $(LDFLAGS)
109FUZZ_MAX_LEN = 4096
110FUZZ_RUNS = 8192
111
112# User and group IDs the installed files should be "owned" by
113install_uid = 0
114install_gid = 0
115
116#### End of system configuration section. ####
117
118SHELL = @SHELL@
119
120PROGS = sudo_logsrvd sudo_sendlog
121
122LOGSRVD_OBJS = logsrv_util.o iolog_writer.o logsrvd.o logsrvd_conf.o \
123	       logsrvd_journal.o logsrvd_local.o logsrvd_relay.o \
124	       logsrvd_queue.o tls_client.o tls_init.o
125
126SENDLOG_OBJS = logsrv_util.o sendlog.o tls_client.o tls_init.o
127
128IOBJS = $(LOGSRVD_OBJS:.o=.i) $(SENDLOG_OBJS:.o=.i)
129
130POBJS = $(IOBJS:.i=.plog)
131
132LIBOBJDIR = $(top_builddir)/@ac_config_libobj_dir@/
133
134VERSION = @PACKAGE_VERSION@
135
136FUZZ_LOGSRVD_CONF_OBJS = fuzz_logsrvd_conf.o logsrvd_conf.o tls_init.o
137
138FUZZ_LOGSRVD_CONF_CORPUS = $(srcdir)/regress/corpus/seed/logsrvd_conf/logsrvd.conf.*
139
140all: $(PROGS)
141
142depend:
143	$(scriptdir)/mkdep.pl --srcdir=$(abs_top_srcdir) \
144	    --builddir=$(abs_top_builddir) logsrvd/Makefile.in
145	cd $(top_builddir) && ./config.status --file logsrvd/Makefile
146
147Makefile: $(srcdir)/Makefile.in
148	cd $(top_builddir) && ./config.status --file logsrvd/Makefile
149
150.SUFFIXES: .c .h .i .lo .o .plog
151
152.c.o:
153	$(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
154
155.c.lo:
156	$(LIBTOOL) $(LTFLAGS) --mode=compile $(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $<
157
158.c.i:
159	$(CC) -E -o $@ $(CPPFLAGS) $<
160
161.i.plog:
162	ifile=$<; rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $${ifile%i}c --i-file $< --output-file $@
163
164sudo_logsrvd: $(LOGSRVD_OBJS) $(LT_LIBS)
165	$(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(LOGSRVD_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
166
167sudo_sendlog: $(SENDLOG_OBJS) $(LT_LIBS)
168	$(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(SENDLOG_OBJS) $(LDFLAGS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(LIBS)
169
170fuzz_logsrvd_conf: $(FUZZ_LOGSRVD_CONF_OBJS) $(LIBFUZZSTUB) $(LT_LIBS)
171	$(LIBTOOL) $(LTFLAGS) --mode=link $(CC) -o $@ $(FUZZ_LOGSRVD_CONF_OBJS) $(ASAN_LDFLAGS) $(PIE_LDFLAGS) $(SSP_LDFLAGS) $(FUZZ_LDFLAGS) $(FUZZ_LIBS)
172
173fuzz_logsrvd_conf_seed_corpus.zip:
174	tdir=fuzz_logsrvd_conf.$$$$; \
175	mkdir $$tdir; \
176	for f in $(FUZZ_LOGSRVD_CONF_CORPUS); do \
177	    cp $$f $$tdir/`sha1sum $$f | cut -d' ' -f1`; \
178	done; \
179	zip -j $@ $$tdir/*; \
180	rm -rf $$tdir
181
182run-fuzz_logsrvd_conf: fuzz_logsrvd_conf
183	if locale -a 2>&1 | grep '^C.UTF-8$$' >/dev/null 2>&1; then \
184	    LC_ALL=C.UTF-8; export LC_ALL; \
185	else \
186	    LC_ALL=C; export LC_ALL; \
187	fi; \
188	unset LANG || LANG=; \
189	MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
190	MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
191	umask 022; \
192	corpus=regress/corpus/logsrvd_conf; \
193	mkdir -p $$corpus; \
194	for f in $(FUZZ_LOGSRVD_CONF_CORPUS); do \
195	    cp $$f $$corpus; \
196	done; \
197	./fuzz_logsrvd_conf -dict=$(srcdir)/regress/fuzz/fuzz_logsrvd_conf.dict -max_len=$(FUZZ_MAX_LEN) -runs=$(FUZZ_RUNS) $$corpus
198
199pre-install:
200
201install: install-binaries
202
203install-dirs:
204	$(SHELL) $(scriptdir)/mkinstalldirs $(DESTDIR)$(sbindir)
205
206install-binaries: install-dirs $(PROGS)
207	INSTALL_BACKUP='$(INSTALL_BACKUP)' $(LIBTOOL) $(LTFLAGS) --mode=install $(INSTALL) $(INSTALL_OWNER) -m 0755 sudo_logsrvd $(DESTDIR)$(sbindir)/sudo_logsrvd
208	INSTALL_BACKUP='$(INSTALL_BACKUP)' $(LIBTOOL) $(LTFLAGS) --mode=install $(INSTALL) $(INSTALL_OWNER) -m 0755 sudo_sendlog $(DESTDIR)$(sbindir)/sudo_sendlog
209
210install-doc:
211
212install-includes:
213
214install-plugin:
215
216install-fuzzer: $(FUZZ_PROGS) $(FUZZ_SEED_CORPUS)
217	@if test X"$(FUZZ_DESTDIR)" = X""; then \
218	    echo "must set FUZZ_DESTDIR for install-fuzzer target"; \
219	else \
220	    cp $(FUZZ_PROGS) $(FUZZ_SEED_CORPUS) $(FUZZ_DESTDIR); \
221	fi
222
223uninstall:
224	-rm -f	$(DESTDIR)$(sbindir)/sudo_logsrvd \
225		$(DESTDIR)$(sbindir)/sudo_sendlog
226	-test -z "$(INSTALL_BACKUP)" || \
227	    rm -f $(DESTDIR)$(sbindir)/sudo_logsrvd$(INSTALL_BACKUP) \
228		  $(DESTDIR)$(sbindir)/sudo_sendlog$(INSTALL_BACKUP)
229
230splint:
231	splint $(SPLINT_OPTS) -I$(incdir) -I$(top_builddir) -I. -I$(srcdir) $(srcdir)/*.c
232
233cppcheck:
234	cppcheck $(CPPCHECK_OPTS) -I$(incdir) -I$(top_builddir) -I. -I$(srcdir) $(srcdir)/*.c
235
236pvs-log-files: $(POBJS)
237
238pvs-studio: $(POBJS)
239	plog-converter $(PVS_LOG_OPTS) $(POBJS)
240
241fuzz: run-fuzz_logsrvd_conf
242
243check-fuzzer: $(FUZZ_PROGS)
244	@if test X"$(cross_compiling)" != X"yes"; then \
245	    if locale -a 2>&1 | grep '^C.UTF-8$$' >/dev/null 2>&1; then \
246		LC_ALL=C.UTF-8; export LC_ALL; \
247	    else \
248		LC_ALL=C; export LC_ALL; \
249	    fi; \
250	    unset LANG || LANG=; \
251	    MALLOC_OPTIONS=S; export MALLOC_OPTIONS; \
252	    MALLOC_CONF="abort:true,junk:true"; export MALLOC_CONF; \
253	    echo "fuzz_logsrvd_conf: verifying corpus (expect 3 errors)"; \
254	    ./fuzz_logsrvd_conf $(FUZZ_LOGSRVD_CONF_CORPUS); \
255	fi
256
257check: check-fuzzer
258
259clean:
260	-$(LIBTOOL) $(LTFLAGS) --mode=clean rm -f $(PROGS) $(FUZZ_PROGS) \
261	    *.lo *.o *.la
262	-rm -f *.i *.plog stamp-* core *.core core.*
263	-rm -rf regress/corpus/logsrvd_conf
264
265mostlyclean: clean
266
267distclean: clean
268	-rm -rf Makefile .libs
269
270clobber: distclean
271
272realclean: distclean
273	rm -f TAGS tags
274
275cleandir: realclean
276
277.PHONY: clean mostlyclean distclean cleandir clobber realclean \
278	$(FUZZ_SEED_CORPUS) run-fuzz_logsrvd_conf
279
280# Autogenerated dependencies, do not modify
281fuzz_logsrvd_conf.o: $(srcdir)/regress/fuzz/fuzz_logsrvd_conf.c \
282                     $(incdir)/compat/stdbool.h $(incdir)/log_server.pb-c.h \
283                     $(incdir)/protobuf-c/protobuf-c.h $(incdir)/sudo_compat.h \
284                     $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
285                     $(incdir)/sudo_eventlog.h $(incdir)/sudo_iolog.h \
286                     $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
287                     $(srcdir)/logsrv_util.h $(srcdir)/logsrvd.h \
288                     $(srcdir)/tls_common.h $(top_builddir)/config.h
289	$(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/regress/fuzz/fuzz_logsrvd_conf.c
290fuzz_logsrvd_conf.i: $(srcdir)/regress/fuzz/fuzz_logsrvd_conf.c \
291                     $(incdir)/compat/stdbool.h $(incdir)/log_server.pb-c.h \
292                     $(incdir)/protobuf-c/protobuf-c.h $(incdir)/sudo_compat.h \
293                     $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
294                     $(incdir)/sudo_eventlog.h $(incdir)/sudo_iolog.h \
295                     $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
296                     $(srcdir)/logsrv_util.h $(srcdir)/logsrvd.h \
297                     $(srcdir)/tls_common.h $(top_builddir)/config.h
298	$(CC) -E -o $@ $(CPPFLAGS) $<
299fuzz_logsrvd_conf.plog: fuzz_logsrvd_conf.i
300	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/regress/fuzz/fuzz_logsrvd_conf.c --i-file $< --output-file $@
301iolog_writer.o: $(srcdir)/iolog_writer.c $(incdir)/compat/stdbool.h \
302                $(incdir)/log_server.pb-c.h $(incdir)/protobuf-c/protobuf-c.h \
303                $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
304                $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
305                $(incdir)/sudo_gettext.h $(incdir)/sudo_iolog.h \
306                $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
307                $(incdir)/sudo_util.h $(srcdir)/logsrv_util.h \
308                $(srcdir)/logsrvd.h $(srcdir)/tls_common.h \
309                $(top_builddir)/config.h
310	$(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/iolog_writer.c
311iolog_writer.i: $(srcdir)/iolog_writer.c $(incdir)/compat/stdbool.h \
312                $(incdir)/log_server.pb-c.h $(incdir)/protobuf-c/protobuf-c.h \
313                $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
314                $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
315                $(incdir)/sudo_gettext.h $(incdir)/sudo_iolog.h \
316                $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
317                $(incdir)/sudo_util.h $(srcdir)/logsrv_util.h \
318                $(srcdir)/logsrvd.h $(srcdir)/tls_common.h \
319                $(top_builddir)/config.h
320	$(CC) -E -o $@ $(CPPFLAGS) $<
321iolog_writer.plog: iolog_writer.i
322	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/iolog_writer.c --i-file $< --output-file $@
323logsrv_util.o: $(srcdir)/logsrv_util.c $(incdir)/compat/stdbool.h \
324               $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
325               $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
326               $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \
327               $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
328               $(srcdir)/logsrv_util.h $(top_builddir)/config.h
329	$(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/logsrv_util.c
330logsrv_util.i: $(srcdir)/logsrv_util.c $(incdir)/compat/stdbool.h \
331               $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
332               $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
333               $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \
334               $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
335               $(srcdir)/logsrv_util.h $(top_builddir)/config.h
336	$(CC) -E -o $@ $(CPPFLAGS) $<
337logsrv_util.plog: logsrv_util.i
338	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrv_util.c --i-file $< --output-file $@
339logsrvd.o: $(srcdir)/logsrvd.c $(incdir)/compat/getopt.h \
340           $(incdir)/compat/stdbool.h $(incdir)/hostcheck.h \
341           $(incdir)/log_server.pb-c.h $(incdir)/protobuf-c/protobuf-c.h \
342           $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
343           $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
344           $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
345           $(incdir)/sudo_gettext.h $(incdir)/sudo_iolog.h \
346           $(incdir)/sudo_json.h $(incdir)/sudo_plugin.h \
347           $(incdir)/sudo_queue.h $(incdir)/sudo_rand.h $(incdir)/sudo_util.h \
348           $(srcdir)/logsrv_util.h $(srcdir)/logsrvd.h $(srcdir)/tls_common.h \
349           $(top_builddir)/config.h $(top_builddir)/pathnames.h
350	$(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/logsrvd.c
351logsrvd.i: $(srcdir)/logsrvd.c $(incdir)/compat/getopt.h \
352           $(incdir)/compat/stdbool.h $(incdir)/hostcheck.h \
353           $(incdir)/log_server.pb-c.h $(incdir)/protobuf-c/protobuf-c.h \
354           $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
355           $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
356           $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
357           $(incdir)/sudo_gettext.h $(incdir)/sudo_iolog.h \
358           $(incdir)/sudo_json.h $(incdir)/sudo_plugin.h \
359           $(incdir)/sudo_queue.h $(incdir)/sudo_rand.h $(incdir)/sudo_util.h \
360           $(srcdir)/logsrv_util.h $(srcdir)/logsrvd.h $(srcdir)/tls_common.h \
361           $(top_builddir)/config.h $(top_builddir)/pathnames.h
362	$(CC) -E -o $@ $(CPPFLAGS) $<
363logsrvd.plog: logsrvd.i
364	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrvd.c --i-file $< --output-file $@
365logsrvd_conf.o: $(srcdir)/logsrvd_conf.c $(incdir)/compat/getaddrinfo.h \
366                $(incdir)/compat/stdbool.h $(incdir)/log_server.pb-c.h \
367                $(incdir)/protobuf-c/protobuf-c.h $(incdir)/sudo_compat.h \
368                $(incdir)/sudo_debug.h $(incdir)/sudo_eventlog.h \
369                $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
370                $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \
371                $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
372                $(srcdir)/logsrv_util.h $(srcdir)/logsrvd.h \
373                $(srcdir)/tls_common.h $(top_builddir)/config.h \
374                $(top_builddir)/pathnames.h
375	$(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/logsrvd_conf.c
376logsrvd_conf.i: $(srcdir)/logsrvd_conf.c $(incdir)/compat/getaddrinfo.h \
377                $(incdir)/compat/stdbool.h $(incdir)/log_server.pb-c.h \
378                $(incdir)/protobuf-c/protobuf-c.h $(incdir)/sudo_compat.h \
379                $(incdir)/sudo_debug.h $(incdir)/sudo_eventlog.h \
380                $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
381                $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \
382                $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
383                $(srcdir)/logsrv_util.h $(srcdir)/logsrvd.h \
384                $(srcdir)/tls_common.h $(top_builddir)/config.h \
385                $(top_builddir)/pathnames.h
386	$(CC) -E -o $@ $(CPPFLAGS) $<
387logsrvd_conf.plog: logsrvd_conf.i
388	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrvd_conf.c --i-file $< --output-file $@
389logsrvd_journal.o: $(srcdir)/logsrvd_journal.c $(incdir)/compat/stdbool.h \
390                   $(incdir)/log_server.pb-c.h \
391                   $(incdir)/protobuf-c/protobuf-c.h $(incdir)/sudo_compat.h \
392                   $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
393                   $(incdir)/sudo_event.h $(incdir)/sudo_eventlog.h \
394                   $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
395                   $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \
396                   $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
397                   $(srcdir)/logsrv_util.h $(srcdir)/logsrvd.h \
398                   $(srcdir)/tls_common.h $(top_builddir)/config.h
399	$(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/logsrvd_journal.c
400logsrvd_journal.i: $(srcdir)/logsrvd_journal.c $(incdir)/compat/stdbool.h \
401                   $(incdir)/log_server.pb-c.h \
402                   $(incdir)/protobuf-c/protobuf-c.h $(incdir)/sudo_compat.h \
403                   $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h \
404                   $(incdir)/sudo_event.h $(incdir)/sudo_eventlog.h \
405                   $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
406                   $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \
407                   $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
408                   $(srcdir)/logsrv_util.h $(srcdir)/logsrvd.h \
409                   $(srcdir)/tls_common.h $(top_builddir)/config.h
410	$(CC) -E -o $@ $(CPPFLAGS) $<
411logsrvd_journal.plog: logsrvd_journal.i
412	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrvd_journal.c --i-file $< --output-file $@
413logsrvd_local.o: $(srcdir)/logsrvd_local.c $(incdir)/compat/stdbool.h \
414                 $(incdir)/log_server.pb-c.h $(incdir)/protobuf-c/protobuf-c.h \
415                 $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
416                 $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
417                 $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
418                 $(incdir)/sudo_gettext.h $(incdir)/sudo_iolog.h \
419                 $(incdir)/sudo_json.h $(incdir)/sudo_plugin.h \
420                 $(incdir)/sudo_queue.h $(incdir)/sudo_rand.h \
421                 $(incdir)/sudo_util.h $(srcdir)/logsrv_util.h \
422                 $(srcdir)/logsrvd.h $(srcdir)/tls_common.h \
423                 $(top_builddir)/config.h
424	$(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/logsrvd_local.c
425logsrvd_local.i: $(srcdir)/logsrvd_local.c $(incdir)/compat/stdbool.h \
426                 $(incdir)/log_server.pb-c.h $(incdir)/protobuf-c/protobuf-c.h \
427                 $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
428                 $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
429                 $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
430                 $(incdir)/sudo_gettext.h $(incdir)/sudo_iolog.h \
431                 $(incdir)/sudo_json.h $(incdir)/sudo_plugin.h \
432                 $(incdir)/sudo_queue.h $(incdir)/sudo_rand.h \
433                 $(incdir)/sudo_util.h $(srcdir)/logsrv_util.h \
434                 $(srcdir)/logsrvd.h $(srcdir)/tls_common.h \
435                 $(top_builddir)/config.h
436	$(CC) -E -o $@ $(CPPFLAGS) $<
437logsrvd_local.plog: logsrvd_local.i
438	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrvd_local.c --i-file $< --output-file $@
439logsrvd_queue.o: $(srcdir)/logsrvd_queue.c $(incdir)/compat/stdbool.h \
440                 $(incdir)/log_server.pb-c.h $(incdir)/protobuf-c/protobuf-c.h \
441                 $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
442                 $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
443                 $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
444                 $(incdir)/sudo_gettext.h $(incdir)/sudo_iolog.h \
445                 $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
446                 $(incdir)/sudo_util.h $(srcdir)/logsrv_util.h \
447                 $(srcdir)/logsrvd.h $(srcdir)/tls_common.h \
448                 $(top_builddir)/config.h
449	$(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/logsrvd_queue.c
450logsrvd_queue.i: $(srcdir)/logsrvd_queue.c $(incdir)/compat/stdbool.h \
451                 $(incdir)/log_server.pb-c.h $(incdir)/protobuf-c/protobuf-c.h \
452                 $(incdir)/sudo_compat.h $(incdir)/sudo_conf.h \
453                 $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
454                 $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
455                 $(incdir)/sudo_gettext.h $(incdir)/sudo_iolog.h \
456                 $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
457                 $(incdir)/sudo_util.h $(srcdir)/logsrv_util.h \
458                 $(srcdir)/logsrvd.h $(srcdir)/tls_common.h \
459                 $(top_builddir)/config.h
460	$(CC) -E -o $@ $(CPPFLAGS) $<
461logsrvd_queue.plog: logsrvd_queue.i
462	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrvd_queue.c --i-file $< --output-file $@
463logsrvd_relay.o: $(srcdir)/logsrvd_relay.c $(incdir)/compat/stdbool.h \
464                 $(incdir)/log_server.pb-c.h $(incdir)/protobuf-c/protobuf-c.h \
465                 $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
466                 $(incdir)/sudo_event.h $(incdir)/sudo_eventlog.h \
467                 $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
468                 $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \
469                 $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
470                 $(srcdir)/logsrv_util.h $(srcdir)/logsrvd.h \
471                 $(srcdir)/tls_common.h $(top_builddir)/config.h
472	$(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/logsrvd_relay.c
473logsrvd_relay.i: $(srcdir)/logsrvd_relay.c $(incdir)/compat/stdbool.h \
474                 $(incdir)/log_server.pb-c.h $(incdir)/protobuf-c/protobuf-c.h \
475                 $(incdir)/sudo_compat.h $(incdir)/sudo_debug.h \
476                 $(incdir)/sudo_event.h $(incdir)/sudo_eventlog.h \
477                 $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
478                 $(incdir)/sudo_iolog.h $(incdir)/sudo_plugin.h \
479                 $(incdir)/sudo_queue.h $(incdir)/sudo_util.h \
480                 $(srcdir)/logsrv_util.h $(srcdir)/logsrvd.h \
481                 $(srcdir)/tls_common.h $(top_builddir)/config.h
482	$(CC) -E -o $@ $(CPPFLAGS) $<
483logsrvd_relay.plog: logsrvd_relay.i
484	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/logsrvd_relay.c --i-file $< --output-file $@
485sendlog.o: $(srcdir)/sendlog.c $(incdir)/compat/getaddrinfo.h \
486           $(incdir)/compat/getopt.h $(incdir)/compat/stdbool.h \
487           $(incdir)/hostcheck.h $(incdir)/log_server.pb-c.h \
488           $(incdir)/protobuf-c/protobuf-c.h $(incdir)/sudo_compat.h \
489           $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
490           $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
491           $(incdir)/sudo_gettext.h $(incdir)/sudo_iolog.h \
492           $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
493           $(incdir)/sudo_util.h $(srcdir)/logsrv_util.h $(srcdir)/sendlog.h \
494           $(srcdir)/tls_common.h $(top_builddir)/config.h
495	$(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/sendlog.c
496sendlog.i: $(srcdir)/sendlog.c $(incdir)/compat/getaddrinfo.h \
497           $(incdir)/compat/getopt.h $(incdir)/compat/stdbool.h \
498           $(incdir)/hostcheck.h $(incdir)/log_server.pb-c.h \
499           $(incdir)/protobuf-c/protobuf-c.h $(incdir)/sudo_compat.h \
500           $(incdir)/sudo_conf.h $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
501           $(incdir)/sudo_eventlog.h $(incdir)/sudo_fatal.h \
502           $(incdir)/sudo_gettext.h $(incdir)/sudo_iolog.h \
503           $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
504           $(incdir)/sudo_util.h $(srcdir)/logsrv_util.h $(srcdir)/sendlog.h \
505           $(srcdir)/tls_common.h $(top_builddir)/config.h
506	$(CC) -E -o $@ $(CPPFLAGS) $<
507sendlog.plog: sendlog.i
508	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/sendlog.c --i-file $< --output-file $@
509tls_client.o: $(srcdir)/tls_client.c $(incdir)/compat/stdbool.h \
510              $(incdir)/hostcheck.h $(incdir)/sudo_compat.h \
511              $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
512              $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
513              $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
514              $(incdir)/sudo_util.h $(srcdir)/logsrv_util.h \
515              $(srcdir)/tls_common.h $(top_builddir)/config.h
516	$(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/tls_client.c
517tls_client.i: $(srcdir)/tls_client.c $(incdir)/compat/stdbool.h \
518              $(incdir)/hostcheck.h $(incdir)/sudo_compat.h \
519              $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
520              $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
521              $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
522              $(incdir)/sudo_util.h $(srcdir)/logsrv_util.h \
523              $(srcdir)/tls_common.h $(top_builddir)/config.h
524	$(CC) -E -o $@ $(CPPFLAGS) $<
525tls_client.plog: tls_client.i
526	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/tls_client.c --i-file $< --output-file $@
527tls_init.o: $(srcdir)/tls_init.c $(incdir)/compat/stdbool.h \
528            $(incdir)/hostcheck.h $(incdir)/sudo_compat.h \
529            $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
530            $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
531            $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
532            $(srcdir)/tls_common.h $(top_builddir)/config.h
533	$(CC) -c $(CPPFLAGS) $(CFLAGS) $(ASAN_CFLAGS) $(PIE_CFLAGS) $(SSP_CFLAGS) $(srcdir)/tls_init.c
534tls_init.i: $(srcdir)/tls_init.c $(incdir)/compat/stdbool.h \
535            $(incdir)/hostcheck.h $(incdir)/sudo_compat.h \
536            $(incdir)/sudo_debug.h $(incdir)/sudo_event.h \
537            $(incdir)/sudo_fatal.h $(incdir)/sudo_gettext.h \
538            $(incdir)/sudo_plugin.h $(incdir)/sudo_queue.h \
539            $(srcdir)/tls_common.h $(top_builddir)/config.h
540	$(CC) -E -o $@ $(CPPFLAGS) $<
541tls_init.plog: tls_init.i
542	rm -f $@; pvs-studio --cfg $(PVS_CFG) --sourcetree-root $(top_srcdir) --skip-cl-exe yes --source-file $(srcdir)/tls_init.c --i-file $< --output-file $@
543