Makefile 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. BIN = benchmark
  2. SRC = $(wildcard *.c)
  3. OBJS = $(subst .c,.o,$(SRC))
  4. DEPS = .deps/oclfft/src/liboclfft.so
  5. CFLAGS ?= -O3 -Wall -Werror -std=c99 -fmessage-length=0 -I/usr/local/cuda/include
  6. LDFLAGS ?= -lOpenCL
  7. LIBS_MSG = ""
  8. AMD_FFT_EXISTS = $(shell pkg-config --exists clFFT && echo "1" || echo "0")
  9. ifeq ($(AMD_FFT_EXISTS),1)
  10. override CPPFLAGS += -DHAVE_AMD_FFT
  11. override CFLAGS += $(shell pkg-config --cflags clFFT)
  12. override LDFLAGS += $(shell pkg-config --libs clFFT)
  13. LIBS_MSG += " +amd"
  14. endif
  15. override CPPFLAGS += -DHAVE_APPLE_FFT
  16. override CFLAGS += -I.deps/oclfft/src
  17. override LDFLAGS += -L.deps/oclfft/src -loclfft -Wl,-rpath=.deps/oclfft/src
  18. LIBS_MSG += " +apple"
  19. FFTW_EXISTS = $(shell pkg-config --exists fftw3 && echo "1" || echo "0")
  20. ifeq ($(FFTW_EXISTS),1)
  21. override CPPFLAGS += -DHAVE_FFTW
  22. override CFLAGS += $(shell pkg-config --cflags fftw3)
  23. override LDFLAGS += $(shell pkg-config --libs fftw3)
  24. LIBS_MSG += " +fftw"
  25. endif
  26. .PHONY: all clean distclean run
  27. all: $(BIN)
  28. %.o: %.c Makefile
  29. @echo [CC] $@
  30. @$(CC) $(CPPFLAGS) $(CFLAGS) -c $< -o $@
  31. $(BIN): $(OBJS) $(DEPS)
  32. @echo [LD] $@
  33. @$(CC) $(OBJS) -o $@ $(LDFLAGS)
  34. @echo " built with:$(LIBS_MSG)"
  35. run: $(BIN)
  36. @echo "Run benchmark"
  37. @./benchmark
  38. clean:
  39. rm -f $(BIN) $(OBJS)
  40. distclean:
  41. rm -rf .deps
  42. $(DEPS):
  43. @mkdir -p .deps
  44. @git clone http://ufo.kit.edu/git/oclfft .deps/oclfft
  45. @cd .deps/oclfft; cmake .; make