src/Makefile
author Radek Brich <radek.brich@devl.cz>
Fri, 14 Dec 2007 16:51:22 +0100
branchpyrit
changeset 39 7079dcc3bd74
parent 35 fb170fccb19f
child 41 c1080cb5bd6d
permissions -rw-r--r--
ccdemos: put the common code to header files, common_ply.h and common_sdl.h move all ccdemos on octree and make them all realtime (-i argument)

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 container.o kdtree.o octree.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
container.o: container.cc container.h scene.h common.h
kdtree.o: kdtree.cc kdtree.h scene.h common.h
octree.o: octree.cc octree.h scene.h common.h
raytracer.o: raytracer.cc raytracer.h scene.h vector.h noise.h common.h

raytracermodule.o: raytracermodule.cc $(LIBOBJS)
	$(CXX) -c -o $@ $(DEFS) $(CCFLAGS) $(PY_CCFLAGS) $<