--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile Thu Oct 25 16:40:22 2007 +0200
@@ -0,0 +1,57 @@
+CCFLAGS=-Wall -O3 -I./src
+LDFLAGS=
+
+ifeq ($(OS), Windows_NT)
+ CCFLAGS+=-I"C:/Program Files/Python25/include"
+ LDFLAGS+=-L"C:\Program Files\Python25\libs" -lpython25
+ MODULENAME=raytracer.pyd
+else
+ CCFLAGS+=-fPIC -I/usr/include/python2.4
+ MODULENAME=raytracermodule.so
+endif
+
+# optimisations
+#CCFLAGS+=-pipe -fomit-frame-pointer -ffast-math -msse3
+
+
+# TARGETS
+#########
+
+all: python-module
+
+python-module: $(MODULENAME)
+
+tests: testvector testmatrix
+
+clean:
+ rm -f *.o $(MODULENAME) testvector testmatrix
+
+
+# RULES
+#######
+
+%.o: src/%.cc
+ $(CXX) -c -o $@ src/$*.cc $(CCFLAGS)
+
+test%: tests/%.cc
+ $(CXX) -o $@ tests/$*.cc $(CCFLAGS)
+ ./$@
+
+
+# DEPENDENCIES
+##############
+
+# C++ raytracer
+vector.o: src/vector.cc src/vector.h
+matrix.o: src/matrix.cc src/matrix.h src/vector.h
+noise.o: src/noise.cc src/noise.h
+scene.o: src/scene.cc src/scene.h src/vector.h src/noise.h
+raytracer.o: src/raytracer.cc src/raytracer.h src/scene.h src/vector.h src/noise.h
+
+# python module
+raytracermodule.o: src/raytracermodule.cc src/raytracer.h src/scene.h src/vector.h
+$(MODULENAME): raytracermodule.o raytracer.o scene.o noise.o
+ $(CXX) $^ -shared -o $@ $(LDFLAGS)
+
+# library tests
+testvector: tests/vector.cc src/vector.h