diff options
Diffstat (limited to 'fuzz/Makefile.am')
-rw-r--r-- | fuzz/Makefile.am | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/fuzz/Makefile.am b/fuzz/Makefile.am index 66debc226..bdc3e2ebc 100644 --- a/fuzz/Makefile.am +++ b/fuzz/Makefile.am @@ -1,12 +1,12 @@ -CPPFLAGS = @CPPFLAGS@ \ +AM_CPPFLAGS = @CPPFLAGS@ \ -I$(top_srcdir)/src/libstrongswan \ -DPLUGINDIR=\""$(abs_top_builddir)/src/libstrongswan/plugins\"" \ -DPLUGINS="\"${fuzz_plugins}\"" -LDFLAGS = @LDFLAGS@ ${libfuzzer} \ +fuzz_ldflags = ${libfuzzer} \ $(top_builddir)/src/libstrongswan/.libs/libstrongswan.a \ -Wl,-Bstatic -lgmp -Wl,-Bdynamic \ - -stdlib=libc++ -lstdc++ + @FUZZING_LDFLAGS@ FUZZ_TARGETS=fuzz_certs @@ -14,5 +14,18 @@ all-local: $(FUZZ_TARGETS) CLEANFILES=$(FUZZ_TARGETS) -fuzz_certs: fuzz_certs.c - $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< $(LDFLAGS) +fuzz_certs: fuzz_certs.c ${libfuzzer} + $(CC) $(AM_CPPFLAGS) $(CFLAGS) -o $@ $< $(fuzz_ldflags) + +noinst_LIBRARIES = libFuzzerLocal.a +libFuzzerLocal_a_SOURCES = libFuzzerLocal.c +libFuzzerLocal_a_LIBADD = $(top_builddir)/src/libstrongswan/libstrongswan.la + +check: all + for f in $(FUZZ_TARGETS); do \ + corpus=$${f#fuzz_}; \ + corpus=$${corpus%%_*}; \ + ./$$f $(FUZZING_CORPORA)/$${corpus}/*; \ + crashes=$(FUZZING_CORPORA)/$${corpus}-crash; \ + test ! -d $${crashes} || ./$$f $${crashes}/*; \ + done |