mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-08 00:01:33 +00:00
This variable is a standard way to inject options for the C preprocessor. It's respected by the implicit rules of make and autoconf/automake. Debian sets this variable during package build to inject `-D_FORTIFY_SOURCE=2` and we would like afl++ to respect it. Note that this commit also adds $(CFLAGS) in the build of afl-performance.o where it was missing. It might have been on purpose but we want to keep CFLAGS everywhere as well since Debian injects various options through that variable (for hardening and reproducibility).
31 lines
1.2 KiB
Makefile
31 lines
1.2 KiB
Makefile
CUR_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
|
|
|
|
all: radamsa-mutator.so
|
|
|
|
# These can be overriden:
|
|
CFLAGS ?= $(CFLAGS_FLTO)
|
|
|
|
# These are required: (otherwise radamsa gets very very slooooow)
|
|
CFLAGS += -O3 -funroll-loops
|
|
|
|
#libradamsa.so: libradamsa.a
|
|
# $(CC) $(CFLAGS) -shared libradamsa.a -o libradamsa.so
|
|
|
|
libradamsa.a: libradamsa.c radamsa.h
|
|
@echo " ***************************************************************"
|
|
@echo " * Compiling libradamsa, wait some minutes (~3 on modern CPUs) *"
|
|
@echo " ***************************************************************"
|
|
$(CC) -fPIC $(CFLAGS) $(CPPFLAGS) -I $(CUR_DIR) -o libradamsa.a -c libradamsa.c
|
|
|
|
radamsa-mutator.so: radamsa-mutator.c libradamsa.a
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -g -I. -I../../include -shared -fPIC -c radamsa-mutator.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -shared -fPIC -o radamsa-mutator.so radamsa-mutator.o libradamsa.a
|
|
|
|
test: libradamsa.a libradamsa-test.c
|
|
$(CC) $(CFLAGS) $(CPPFLAGS) -I $(CUR_DIR) -o libradamsa-test libradamsa-test.c libradamsa.a
|
|
./libradamsa-test libradamsa-test.c | grep "library test passed"
|
|
rm /tmp/libradamsa-*.fuzz
|
|
|
|
clean:
|
|
rm -f radamsa-mutator.so libradamsa.a libradamsa-test *.o *~ core
|