summaryrefslogtreecommitdiff
path: root/fuzz/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'fuzz/Makefile.am')
-rw-r--r--fuzz/Makefile.am23
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