aboutsummaryrefslogtreecommitdiff
path: root/aberth/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'aberth/Makefile')
-rw-r--r--aberth/Makefile23
1 files changed, 17 insertions, 6 deletions
diff --git a/aberth/Makefile b/aberth/Makefile
index c5a67cf..f610c01 100644
--- a/aberth/Makefile
+++ b/aberth/Makefile
@@ -1,20 +1,31 @@
CXX = g++
-CXXFLAGS = -Wall -Wextra -std=c++17 -O3 -fwrapv -ffast-math -march=native -mtune=native
-LDFLAGS = -pthread
+CXXFLAGS = -Wall -Wextra -std=c++17 -fwrapv $(OPTFLAGS)
+OPTFLAGS = -O3 -ffast-math -march=native -mtune=native
+LDFLAGS = -pthread -framework OpenCL
+
+TARGETS = aberth
+
+OBJECTS = $(patsubst %.cpp,%.o,$(wildcard *.cpp))
.PHONY: all clean remake
-all: aberth
+all: $(TARGETS)
clean:
- rm -f aberth *.o
+ rm -f $(TARGETS) *.o aberth_kernel.h aberth_kernel.c
remake: clean
$(MAKE) all
-aberth: $(patsubst %.cpp,%.o,$(wildcard *.cpp)) ../lodepng.o
+aberth: $(OBJECTS) aberth_kernel.o ../lodepng.o
$(CXX) -o $@ $^ $(LDFLAGS)
-%.o: %.cpp $(wildcard *.h)
+aberth_kernel.h: aberth_kernel.fut
+ futhark c --library $^
+
+aberth_kernel.o: aberth_kernel.h
+ gcc -c $(OPTFLAGS) -o $@ aberth_kernel.c
+
+$(OBJECTS): %.o: %.cpp $(wildcard *.h) aberth_kernel.h
$(CXX) $(CXXFLAGS) -c -o $@ $<