equal
deleted
inserted
replaced
|
1 CCFLAGS=-Wall -O3 -I./src |
|
2 LDFLAGS= |
|
3 |
|
4 ifeq ($(OS), Windows_NT) |
|
5 CCFLAGS+=-I"C:/Program Files/Python25/include" |
|
6 LDFLAGS+=-L"C:\Program Files\Python25\libs" -lpython25 |
|
7 MODULENAME=raytracer.pyd |
|
8 else |
|
9 CCFLAGS+=-fPIC -I/usr/include/python2.4 |
|
10 MODULENAME=raytracermodule.so |
|
11 endif |
|
12 |
|
13 # optimisations |
|
14 #CCFLAGS+=-pipe -fomit-frame-pointer -ffast-math -msse3 |
|
15 |
|
16 |
|
17 # TARGETS |
|
18 ######### |
|
19 |
|
20 all: python-module |
|
21 |
|
22 python-module: $(MODULENAME) |
|
23 |
|
24 tests: testvector testmatrix |
|
25 |
|
26 clean: |
|
27 rm -f *.o $(MODULENAME) testvector testmatrix |
|
28 |
|
29 |
|
30 # RULES |
|
31 ####### |
|
32 |
|
33 %.o: src/%.cc |
|
34 $(CXX) -c -o $@ src/$*.cc $(CCFLAGS) |
|
35 |
|
36 test%: tests/%.cc |
|
37 $(CXX) -o $@ tests/$*.cc $(CCFLAGS) |
|
38 ./$@ |
|
39 |
|
40 |
|
41 # DEPENDENCIES |
|
42 ############## |
|
43 |
|
44 # C++ raytracer |
|
45 vector.o: src/vector.cc src/vector.h |
|
46 matrix.o: src/matrix.cc src/matrix.h src/vector.h |
|
47 noise.o: src/noise.cc src/noise.h |
|
48 scene.o: src/scene.cc src/scene.h src/vector.h src/noise.h |
|
49 raytracer.o: src/raytracer.cc src/raytracer.h src/scene.h src/vector.h src/noise.h |
|
50 |
|
51 # python module |
|
52 raytracermodule.o: src/raytracermodule.cc src/raytracer.h src/scene.h src/vector.h |
|
53 $(MODULENAME): raytracermodule.o raytracer.o scene.o noise.o |
|
54 $(CXX) $^ -shared -o $@ $(LDFLAGS) |
|
55 |
|
56 # library tests |
|
57 testvector: tests/vector.cc src/vector.h |