about summary refs log tree commit diff
path: root/src/third_party/libradamsa/GNUmakefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/libradamsa/GNUmakefile')
-rw-r--r--src/third_party/libradamsa/GNUmakefile26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/third_party/libradamsa/GNUmakefile b/src/third_party/libradamsa/GNUmakefile
new file mode 100644
index 00000000..c5a78ead
--- /dev/null
+++ b/src/third_party/libradamsa/GNUmakefile
@@ -0,0 +1,26 @@
+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