--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/src/Makefile Mon Dec 03 01:49:23 2007 +0100
@@ -0,0 +1,50 @@
+ifndef $(ROOT)
+ ROOT=$(shell pwd)/..
+endif
+
+include $(ROOT)/config.mk
+
+vpath %.cc $(ROOT)/src
+vpath %.h $(ROOT)/include
+LIBOBJS=raytracer.o scene.o noise.o kdtree.o
+CCFLAGS+=-I$(ROOT)/include
+
+### Targets ###
+all: libs-float libs-double python-module
+
+libs-float:
+ mkdir -p $(ROOT)/bin/$@
+ $(MAKE) -C $(ROOT)/bin/$@ -f $(ROOT)/src/Makefile libs ROOT="$(ROOT)"
+
+libs-double:
+ mkdir -p $(ROOT)/bin/$@
+ $(MAKE) -C $(ROOT)/bin/$@ -f $(ROOT)/src/Makefile libs ROOT="$(ROOT)" DEFS="$(DEFS) -DPYRIT_DOUBLE"
+
+libs: $(LIBOBJS)
+
+python-module: libs-float
+ mkdir -p $(ROOT)/bin/$@
+ $(MAKE) -C $(ROOT)/bin/$@ -f $(ROOT)/src/Makefile $(MODULENAME) ROOT="$(ROOT)"
+
+$(MODULENAME): raytracermodule.o
+ $(CXX) -shared -o $@ $< $(ROOT)/bin/libs-float/*.o $(LDFLAGS) $(PY_LDFLAGS)
+
+clean:
+ rm -rf $(ROOT)/bin/libs-*
+ rm -rf $(ROOT)/bin/python-module
+
+
+### Rules ###
+%.o: %.cc
+ $(CXX) -c -o $@ $(DEFS) $(CCFLAGS) $<
+
+
+### Dependencies ###
+matrix.o: matrix.cc matrix.h vector.h common.h
+noise.o: noise.cc noise.h common.h
+scene.o: scene.cc scene.h vector.h noise.h common.h
+kdtree.o: kdtree.cc kdtree.h scene.h common.h
+raytracer.o: raytracer.cc raytracer.h scene.h vector.h noise.h common.h
+
+raytracermodule.o: raytracermodule.cc raytracer.h scene.h vector.h common.h
+ $(CXX) -c -o $@ $(DEFS) $(CCFLAGS) $(PY_CCFLAGS) $<