diff -r 79b516a3803d -r 76b7bd51d64a src/Makefile --- /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) $<