Makefile 718 B

12345678910111213141516171819202122232425262728293031323334353637
  1. CC=gcc
  2. CFLAGS=-O3
  3. PYTHON_INC=/usr/include/python3.6
  4. PY_BIN_FILES:=$(patsubst src/%.py,bin/%.py,$(wildcard src/*.py))
  5. PY_DEV_FILES:=$(patsubst src/%.py,dev/%.py,$(wildcard src/*.py))
  6. all: bin_dir $(PY_BIN_FILES) bin/accelerated_functions.so
  7. dev: dev_dir $(PY_DEV_FILES) dev/accelerated_functions.so
  8. clean:
  9. @rm -r bin
  10. bin/accelerated_functions.so: src/accelerated_functions.c
  11. dev/accelerated_functions.so: src/accelerated_functions.c
  12. #######
  13. bin/%.so: src/%.c
  14. $(CC) $(CFLAGS) -I $(PYTHON_INC) -shared -fPIC $^ -o $@
  15. bin/%.py: src/%.py
  16. @cp $< $@
  17. bin_dir:
  18. @mkdir -p bin
  19. #######
  20. dev/%.py: src/%.py
  21. ln $< $@
  22. dev/%.so: src/%.c
  23. $(CC) $(CFLAGS) -I $(PYTHON_INC) -shared -fPIC $^ -o $@
  24. dev_dir:
  25. @mkdir -p dev