1
-
2
1
# Use C++11
3
2
CXXFLAGS += -std=c++11
4
3
@@ -10,19 +9,25 @@ CXXFLAGS += $(PYTHON_INCLUDE)
10
9
LDFLAGS += $(shell $(PYTHON_CONFIG ) --libs)
11
10
12
11
# Either finds numpy or set -DWITHOUT_NUMPY
13
- CURRENT_DIR : = $(abspath $(dir $(lastword $( MAKEFILE_LIST ) ) ) )
14
- CXXFLAGS + = $(shell $(PYTHON_BIN ) $( CURRENT_DIR ) /numpy_flags.py )
12
+ CXXFLAGS + = $(shell $(PYTHON_BIN ) $(CURDIR ) /numpy_flags.py )
13
+ WITHOUT_NUMPY : = $(findstring $(CXXFLAGS ) , WITHOUT_NUMPY )
15
14
16
- # Assume every *.cpp file is a separate example
17
- SOURCES ?= $(wildcard examples/* .cpp)
18
- EXECUTABLES := $(foreach exec,$(basename $(SOURCES ) ) ,$(exec ) )
15
+ # Examples requiring numpy support to compile
16
+ EXAMPLES_NUMPY := surface
17
+ EXAMPLES := minimal basic modern animation nonblock xkcd quiver bar fill_inbetween fill update subplot2grid \
18
+ $(if WITHOUT_NUMPY,,$(EXAMPLES_NUMPY ) )
19
+
20
+ # Prefix every example with 'examples/build/'
21
+ EXAMPLE_TARGETS := $(patsubst % ,examples/build/% ,$(EXAMPLES ) )
19
22
20
23
.PHONY : examples
21
24
22
- examples : $(EXECUTABLES )
25
+ examples : $(EXAMPLE_TARGETS )
23
26
24
- $(EXECUTABLES ) : % : % .cpp
27
+ # Assume every *.cpp file is a separate example
28
+ $(EXAMPLE_TARGETS ) : examples/build/% : examples/% .cpp
29
+ mkdir -p examples/build
25
30
$(CXX ) -o $@ $< $(CXXFLAGS ) $(LDFLAGS )
26
31
27
32
clean :
28
- rm -f ${EXECUTABLES }
33
+ rm -f ${EXAMPLE_TARGETS }
0 commit comments