1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
|
AM_CFLAGS = $(WERROR_CFLAGS) $(WARN_CFLAGS)
AM_CPPFLAGS = -I$(top_srcdir)/include/wget -I$(srcdir) -I$(top_builddir)/lib -I$(top_srcdir)/lib \
-DWGETVER_FILE=\"$(top_builddir)/include/wget/wgetver.h\" -DSRCDIR=\"$(abs_srcdir)\"
LDADD = ../lib/libgnu.la ../libwget/libwget.la \
$(LIBOBJS) $(GETADDRINFO_LIB) $(HOSTENT_LIB) $(INET_NTOP_LIB) $(INET_PTON_LIB) \
$(LIBSOCKET) $(LIB_CLOCK_GETTIME) $(LIB_CRYPTO) $(LIB_GETLOGIN) $(LIB_NANOSLEEP) $(LIB_POLL) \
$(LIB_POSIX_SPAWN) $(LIB_PTHREAD_SIGMASK) $(LIB_SELECT) $(LTLIBICONV) $(LTLIBINTL) \
$(LTLIBMULTITHREAD) $(LTLIBTHREAD) $(SERVENT_LIB) @INTL_MACOSX_LIBS@ \
$(FUZZ_LIBS)
WGET_TESTS = \
libwget_atom_url_fuzzer$(EXEEXT) \
libwget_bar_fuzzer$(EXEEXT) \
libwget_base64_fuzzer$(EXEEXT) \
libwget_cookie_fuzzer$(EXEEXT) \
libwget_css_url_fuzzer$(EXEEXT) \
libwget_hpkp_fuzzer$(EXEEXT) \
libwget_hsts_fuzzer$(EXEEXT) \
libwget_html_url_fuzzer$(EXEEXT) \
libwget_http_client_fuzzer$(EXEEXT) \
libwget_http_parse_fuzzer$(EXEEXT) \
libwget_iri_fuzzer$(EXEEXT) \
libwget_metalink_parse_fuzzer$(EXEEXT) \
libwget_netrc_fuzzer$(EXEEXT) \
libwget_ocsp_fuzzer$(EXEEXT) \
libwget_robots_parse_fuzzer$(EXEEXT) \
libwget_sitemap_url_fuzzer$(EXEEXT) \
libwget_tlssess_fuzzer$(EXEEXT) \
libwget_utils_fuzzer$(EXEEXT) \
libwget_xml_parse_buffer_fuzzer$(EXEEXT) \
wget_options_fuzzer$(EXEEXT)
if FUZZING
bin_PROGRAMS = $(WGET_TESTS)
LDADD += $(LIB_FUZZING_ENGINE)
AM_LDFLAGS = -no-install -all-static
else
AM_CPPFLAGS += -DTEST_RUN
AM_TESTS_ENVIRONMENT = export VALGRIND_TESTS"=@VALGRIND_TESTS@";
TESTS = $(WGET_TESTS)
check_PROGRAMS = $(WGET_TESTS)
MAIN = main.c fuzzer.h
endif
libwget_atom_url_fuzzer_SOURCES = libwget_atom_url_fuzzer.c $(MAIN)
libwget_bar_fuzzer_SOURCES = libwget_bar_fuzzer.c $(MAIN)
libwget_base64_fuzzer_SOURCES = libwget_base64_fuzzer.c $(MAIN)
libwget_cookie_fuzzer_SOURCES = libwget_cookie_fuzzer.c $(MAIN)
libwget_css_url_fuzzer_SOURCES = libwget_css_url_fuzzer.c $(MAIN)
libwget_hpkp_fuzzer_SOURCES = libwget_hpkp_fuzzer.c $(MAIN)
libwget_hsts_fuzzer_SOURCES = libwget_hsts_fuzzer.c $(MAIN)
libwget_html_url_fuzzer_SOURCES = libwget_html_url_fuzzer.c $(MAIN)
libwget_http_client_fuzzer_SOURCES = libwget_http_client_fuzzer.c $(MAIN)
libwget_http_parse_fuzzer_SOURCES = libwget_http_parse_fuzzer.c $(MAIN)
libwget_iri_fuzzer_SOURCES = libwget_iri_fuzzer.c $(MAIN)
libwget_metalink_parse_fuzzer_SOURCES = libwget_metalink_parse_fuzzer.c $(MAIN)
libwget_netrc_fuzzer_SOURCES = libwget_netrc_fuzzer.c $(MAIN)
libwget_ocsp_fuzzer_SOURCES = libwget_ocsp_fuzzer.c $(MAIN)
libwget_robots_parse_fuzzer_SOURCES = libwget_robots_parse_fuzzer.c $(MAIN)
libwget_sitemap_url_fuzzer_SOURCES = libwget_sitemap_url_fuzzer.c $(MAIN)
libwget_tlssess_fuzzer_SOURCES = libwget_tlssess_fuzzer.c $(MAIN)
libwget_utils_fuzzer_SOURCES = libwget_utils_fuzzer.c $(MAIN)
libwget_xml_parse_buffer_fuzzer_SOURCES = libwget_xml_parse_buffer_fuzzer.c $(MAIN)
wget_options_fuzzer_SOURCES = wget_options_fuzzer.c $(MAIN)
if WITH_GPGME
wget_options_fuzzer_LDADD = ../src/gpgme.o
else
wget_options_fuzzer_LDADD =
endif
wget_options_fuzzer_LDADD += ../src/options.o ../src/log.o ../src/stats.o ../src/stats_dns.o ../src/stats_tls.o \
../src/stats_ocsp.o ../src/stats_server.o ../src/stats_site.o ../src/utils.o ../src/dl.o ../src/plugin.o ../src/testing.o $(LDADD)
#EXTRA_DIST = $(wildcard *.options) $(wildcard *.dict) \
# $(wildcard *.in) $(wildcard *.repro)
dist-hook:
find $(srcdir) -name '*.options' -exec cp -v '{}' $(distdir) ';'
find $(srcdir) -name '*.dict' -exec cp -v '{}' $(distdir) ';'
# find $(srcdir) -name '*.in' -exec cp -vr '{}' $(distdir) ';'
find $(srcdir) -name '*.repro' -exec cp -vr '{}' $(distdir) ';'
clean-local:
rm -rf *.gc?? *.log lcov
oss-fuzz:
if test "$$OUT" != ""; then \
XLIBS="-lpsl -lgnutls -lnettle -lhogweed -lidn2 -lunistring"; \
for ccfile in libwget*_fuzzer.c; do \
fuzzer=$$(basename $$ccfile .c); \
$$CXX $$CXXFLAGS -I$(top_srcdir)/include/wget/ -I$(top_srcdir) \
"$${fuzzer}.c" -o "$${fuzzer}" \
../libwget/.libs/libwget.a $${LIB_FUZZING_ENGINE} \
-Wl,-Bstatic $${XLIBS} -Wl,-Bdynamic -lgnutls; \
done; \
for ccfile in wget*_fuzzer.c; do \
fuzzer=$$(basename $$ccfile .c); \
$$CXX $$CXXFLAGS -I$(top_srcdir)/include/wget/ -I$(top_srcdir) \
"$${fuzzer}.c" -o "$${fuzzer}" \
../src/options.o ../src/log.o ../src/stats.o ../src/stats_dns.o ../src/stats_tls.o ../src/stats_ocsp.o \
../src/stats_server.o ../src/stats_site.o ../src/utils.o ../src/dl.o ../src/plugin.o ../src/testing.o \
../libwget/.libs/libwget.a $${LIB_FUZZING_ENGINE} \
-Wl,-Bstatic $${XLIBS} -Wl,-Bdynamic -lgnutls; \
done; \
fi
.PHONY: oss-fuzz
|