Makefile 765 B

12345678910111213141516171819202122232425262728
  1. # Use C++11
  2. CXXFLAGS += -std=c++11
  3. # Default to using system's default version of python
  4. PYTHON_BIN ?= python
  5. PYTHON_CONFIG := $(PYTHON_BIN)-config
  6. PYTHON_INCLUDE ?= $(shell $(PYTHON_CONFIG) --includes)
  7. CXXFLAGS += $(PYTHON_INCLUDE)
  8. LDFLAGS += $(shell $(PYTHON_CONFIG) --libs)
  9. # Either finds numpy or set -DWITHOUT_NUMPY
  10. CURRENT_DIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST))))
  11. CXXFLAGS += $(shell $(PYTHON_BIN) $(CURRENT_DIR)/numpy_flags.py)
  12. # Assume every *.cpp file is a separate example
  13. SOURCES ?= $(wildcard examples/*.cpp)
  14. EXECUTABLES := $(foreach exec,$(basename $(SOURCES)),$(exec))
  15. .PHONY: examples
  16. examples: $(EXECUTABLES)
  17. $(EXECUTABLES): %: %.cpp
  18. $(CXX) -o $@ $< $(CXXFLAGS) $(LDFLAGS)
  19. clean:
  20. rm -f ${EXECUTABLES}