about summary refs log tree commit diff
path: root/src/third_party/libradamsa/Makefile
diff options
context:
space:
mode:
authorhexcoder- <heiko@hexco.de>2020-04-02 17:00:35 +0200
committerhexcoder- <heiko@hexco.de>2020-04-02 17:00:35 +0200
commitcc65e91eeba541aa9e3b42e81df3d752814eff21 (patch)
treea881eba3bd64bc48c73bdd4898648ed6dfe54d15 /src/third_party/libradamsa/Makefile
parent26e45e41ed05431341a3c017db649ffa8fee38ef (diff)
downloadafl++-cc65e91eeba541aa9e3b42e81df3d752814eff21.tar.gz
restore portable Makefiles
Diffstat (limited to 'src/third_party/libradamsa/Makefile')
-rw-r--r--src/third_party/libradamsa/Makefile28
1 files changed, 26 insertions, 2 deletions
diff --git a/src/third_party/libradamsa/Makefile b/src/third_party/libradamsa/Makefile
index 0b306dde..c5a78ead 100644
--- a/src/third_party/libradamsa/Makefile
+++ b/src/third_party/libradamsa/Makefile
@@ -1,2 +1,26 @@
-all:
-	@echo please use GNU make, thanks!
+CUR_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+
+all: libradamsa.so
+
+# These can be overriden:
+CFLAGS	?= -march=native $(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) -I $(CUR_DIR) -o libradamsa.a -c libradamsa.c
+
+test: libradamsa.a libradamsa-test.c
+	$(CC) $(CFLAGS) -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 libradamsa.a libradamsa.so libradamsa-test