1AM_CFLAGS = $(WERROR_CFLAGS) $(WARN_CFLAGS) $(CODE_COVERAGE_CFLAGS) 2AM_CPPFLAGS = -I$(top_srcdir)/src -I$(srcdir) -I$(top_builddir)/lib -I$(top_srcdir)/lib \ 3 $(CODE_COVERAGE_CPPFLAGS) \ 4 -DSRCDIR=\"$(abs_srcdir)\" 5LDADD = ../lib/libgnu.a \ 6 $(GETADDRINFO_LIB) $(HOSTENT_LIB) $(INET_NTOP_LIB) $(INET_PTON_LIB) \ 7 $(LIBSOCKET) $(LIB_CLOCK_GETTIME) $(LIB_CRYPTO) $(LIB_GETLOGIN) $(LIB_NANOSLEEP) $(LIB_POLL) \ 8 $(LIB_POSIX_SPAWN) $(LIB_PTHREAD_SIGMASK) $(LIB_SELECT) $(LIBICONV) $(LIBINTL) \ 9 $(LIBMULTITHREAD) $(LIBTHREAD) $(SERVENT_LIB) @INTL_MACOSX_LIBS@ \ 10 $(FUZZ_LIBS) $(CODE_COVERAGE_LIBS) 11 12WGET_TESTS = \ 13 wget_cookie_fuzzer$(EXEEXT) \ 14 wget_css_fuzzer$(EXEEXT) \ 15 wget_ftpls_fuzzer$(EXEEXT) \ 16 wget_html_fuzzer$(EXEEXT) \ 17 wget_netrc_fuzzer$(EXEEXT) \ 18 wget_options_fuzzer$(EXEEXT) \ 19 wget_progress_fuzzer$(EXEEXT) \ 20 wget_read_hunk_fuzzer$(EXEEXT) \ 21 wget_robots_fuzzer$(EXEEXT) \ 22 wget_url_fuzzer$(EXEEXT) 23 24EXTRA_DIST = test-runner.sh 25 26if WITH_NTLM 27 WGET_TESTS += wget_ntlm_fuzzer$(EXEEXT) 28endif 29 30if FUZZING 31 bin_PROGRAMS = $(WGET_TESTS) 32 LDADD += $(LIB_FUZZING_ENGINE) 33 MAIN = fuzzer.h 34# AM_LDFLAGS = -no-install -all-static 35else 36 AM_CPPFLAGS += -DTEST_RUN 37 AM_TESTS_ENVIRONMENT = export VALGRIND_TESTS"=@VALGRIND_TESTS@"; 38 LOG_COMPILER = $(top_srcdir)/fuzz/test-runner.sh 39 TESTS = $(WGET_TESTS) 40 check_PROGRAMS = $(WGET_TESTS) 41 MAIN = main.c fuzzer.h 42endif 43 44# Make libunittest "PHONY" so we're always sure we're up-to-date. 45.PHONY: ../src/libunittest.a 46../src/libunittest.a: 47 $(MAKE) $(AM_MAKEFLAGS) -C ../src libunittest.a 48 49wget_cookie_fuzzer_SOURCES = wget_cookie_fuzzer.c $(MAIN) 50wget_cookie_fuzzer_LDADD = ../src/libunittest.a $(LDADD) 51 52wget_css_fuzzer_SOURCES = wget_css_fuzzer.c $(MAIN) 53wget_css_fuzzer_LDADD = ../src/libunittest.a $(LDADD) 54 55wget_ftpls_fuzzer_SOURCES = wget_ftpls_fuzzer.c $(MAIN) 56wget_ftpls_fuzzer_LDADD = ../src/libunittest.a $(LDADD) 57 58wget_html_fuzzer_SOURCES = wget_html_fuzzer.c $(MAIN) 59wget_html_fuzzer_LDADD = ../src/libunittest.a $(LDADD) 60 61wget_netrc_fuzzer_SOURCES = wget_netrc_fuzzer.c $(MAIN) 62wget_netrc_fuzzer_LDADD = ../src/libunittest.a $(LDADD) 63 64wget_ntlm_fuzzer_SOURCES = wget_ntlm_fuzzer.c $(MAIN) 65wget_ntlm_fuzzer_LDADD = ../src/libunittest.a $(LDADD) 66 67wget_options_fuzzer_SOURCES = wget_options_fuzzer.c $(MAIN) 68wget_options_fuzzer_LDADD = ../src/libunittest.a $(LDADD) 69 70wget_progress_fuzzer_SOURCES = wget_progress_fuzzer.c $(MAIN) 71wget_progress_fuzzer_LDADD = ../src/libunittest.a $(LDADD) 72 73wget_read_hunk_fuzzer_SOURCES = wget_read_hunk_fuzzer.c $(MAIN) 74wget_read_hunk_fuzzer_LDADD = ../src/libunittest.a $(LDADD) 75 76wget_robots_fuzzer_SOURCES = wget_robots_fuzzer.c $(MAIN) 77wget_robots_fuzzer_LDADD = ../src/libunittest.a $(LDADD) 78 79wget_url_fuzzer_SOURCES = wget_url_fuzzer.c $(MAIN) 80wget_url_fuzzer_LDADD = ../src/libunittest.a $(LDADD) 81 82#EXTRA_DIST = $(wildcard *.options) $(wildcard *.dict) \ 83# $(wildcard *.in) $(wildcard *.repro) 84 85dist-hook: 86 find $(srcdir) -name '*.options' -exec cp -v '{}' $(distdir) ';' 87 find $(srcdir) -name '*.dict' -exec cp -v '{}' $(distdir) ';' 88# find $(srcdir) -name '*.in' -exec cp -vr '{}' $(distdir) ';' 89 find $(srcdir) -name '*.repro' -exec cp -vr '{}' $(distdir) ';' 90 91clean-local: 92 rm -rf *.gc?? *.log lcov 93 94oss-fuzz: 95 if test "$$OUT" != ""; then \ 96 XLIBS="-lpsl -lgnutls -lhogweed -lnettle -lidn2 -lunistring"; \ 97 for ccfile in wget*_fuzzer.c; do \ 98 fuzzer=$$(basename $$ccfile .c); \ 99 $$CXX $$CXXFLAGS -I$(top_srcdir)/src -I$(top_srcdir) -I$(top_srcdir)/lib \ 100 "$${fuzzer}.c" -o "$${fuzzer}" \ 101 ../src/libunittest.a ../lib/libgnu.a $${LIB_FUZZING_ENGINE} \ 102 -Wl,-Bstatic $${XLIBS} -Wl,-Bdynamic; \ 103 done; \ 104 fi 105 106.PHONY: oss-fuzz 107