Makefile 751 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. CC=gcc
  2. CFLAGS=-O3 -std=c99 -D_BSD_SOURCE
  3. PYTHON_INC=/usr/include/python3.4
  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. rm -f $@
  22. ln $< $@
  23. dev/%.so: src/%.c
  24. $(CC) $(CFLAGS) -I $(PYTHON_INC) -shared -fPIC $^ -o $@
  25. dev_dir:
  26. @mkdir -p dev