equal
deleted
inserted
replaced
|
1 ifndef $(ROOT) |
|
2 ROOT=$(shell pwd)/.. |
|
3 endif |
|
4 |
|
5 include $(ROOT)/config.mk |
|
6 |
|
7 vpath %.cc $(ROOT)/src |
|
8 vpath %.h $(ROOT)/include |
|
9 LIBOBJS=raytracer.o scene.o noise.o kdtree.o |
|
10 CCFLAGS+=-I$(ROOT)/include |
|
11 |
|
12 ### Targets ### |
|
13 all: libs-float libs-double python-module |
|
14 |
|
15 libs-float: |
|
16 mkdir -p $(ROOT)/bin/$@ |
|
17 $(MAKE) -C $(ROOT)/bin/$@ -f $(ROOT)/src/Makefile libs ROOT="$(ROOT)" |
|
18 |
|
19 libs-double: |
|
20 mkdir -p $(ROOT)/bin/$@ |
|
21 $(MAKE) -C $(ROOT)/bin/$@ -f $(ROOT)/src/Makefile libs ROOT="$(ROOT)" DEFS="$(DEFS) -DPYRIT_DOUBLE" |
|
22 |
|
23 libs: $(LIBOBJS) |
|
24 |
|
25 python-module: libs-float |
|
26 mkdir -p $(ROOT)/bin/$@ |
|
27 $(MAKE) -C $(ROOT)/bin/$@ -f $(ROOT)/src/Makefile $(MODULENAME) ROOT="$(ROOT)" |
|
28 |
|
29 $(MODULENAME): raytracermodule.o |
|
30 $(CXX) -shared -o $@ $< $(ROOT)/bin/libs-float/*.o $(LDFLAGS) $(PY_LDFLAGS) |
|
31 |
|
32 clean: |
|
33 rm -rf $(ROOT)/bin/libs-* |
|
34 rm -rf $(ROOT)/bin/python-module |
|
35 |
|
36 |
|
37 ### Rules ### |
|
38 %.o: %.cc |
|
39 $(CXX) -c -o $@ $(DEFS) $(CCFLAGS) $< |
|
40 |
|
41 |
|
42 ### Dependencies ### |
|
43 matrix.o: matrix.cc matrix.h vector.h common.h |
|
44 noise.o: noise.cc noise.h common.h |
|
45 scene.o: scene.cc scene.h vector.h noise.h common.h |
|
46 kdtree.o: kdtree.cc kdtree.h scene.h common.h |
|
47 raytracer.o: raytracer.cc raytracer.h scene.h vector.h noise.h common.h |
|
48 |
|
49 raytracermodule.o: raytracermodule.cc raytracer.h scene.h vector.h common.h |
|
50 $(CXX) -c -o $@ $(DEFS) $(CCFLAGS) $(PY_CCFLAGS) $< |