src/Makefile
author Radek Brich <radek.brich@devl.cz>
Tue, 04 Dec 2007 08:58:05 +0100
branchpyrit
changeset 23 7e258561a690
parent 22 76b7bd51d64a
child 24 d0d76e8a5203
permissions -rw-r--r--
fix a bug in KdNode::subdivide and remove some extra variables realtime.cc - use SW surface
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     1
ifndef $(ROOT)
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     2
	ROOT=$(shell pwd)/..
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     3
endif
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     4
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     5
include $(ROOT)/config.mk
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     6
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     7
vpath %.cc $(ROOT)/src
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     8
vpath %.h $(ROOT)/include
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
     9
LIBOBJS=raytracer.o scene.o noise.o kdtree.o
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    10
CCFLAGS+=-I$(ROOT)/include
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    11
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    12
### Targets ###
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    13
all: libs-float libs-double python-module
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    14
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    15
libs-float:
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    16
	mkdir -p $(ROOT)/bin/$@
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    17
	$(MAKE) -C $(ROOT)/bin/$@ -f $(ROOT)/src/Makefile libs ROOT="$(ROOT)"
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    18
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    19
libs-double:
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    20
	mkdir -p $(ROOT)/bin/$@
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    21
	$(MAKE) -C $(ROOT)/bin/$@ -f $(ROOT)/src/Makefile libs ROOT="$(ROOT)" DEFS="$(DEFS) -DPYRIT_DOUBLE"
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    22
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    23
libs: $(LIBOBJS)
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    24
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    25
python-module: libs-float
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    26
	mkdir -p $(ROOT)/bin/$@
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    27
	$(MAKE) -C $(ROOT)/bin/$@ -f $(ROOT)/src/Makefile $(MODULENAME) ROOT="$(ROOT)"
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    28
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    29
$(MODULENAME): raytracermodule.o
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    30
	$(CXX) -shared -o $@ $< $(ROOT)/bin/libs-float/*.o $(LDFLAGS) $(PY_LDFLAGS)
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    31
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    32
clean:
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    33
	rm -rf $(ROOT)/bin/libs-*
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    34
	rm -rf $(ROOT)/bin/python-module
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    35
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    36
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    37
### Rules ###
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    38
%.o: %.cc
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    39
	$(CXX) -c -o $@ $(DEFS) $(CCFLAGS) $<
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    40
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    41
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    42
### Dependencies ###
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    43
matrix.o: matrix.cc matrix.h vector.h common.h
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    44
noise.o: noise.cc noise.h common.h
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    45
scene.o: scene.cc scene.h vector.h noise.h common.h
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    46
kdtree.o: kdtree.cc kdtree.h scene.h common.h
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    47
raytracer.o: raytracer.cc raytracer.h scene.h vector.h noise.h common.h
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    48
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    49
raytracermodule.o: raytracermodule.cc raytracer.h scene.h vector.h common.h
76b7bd51d64a new make infrastructure
Radek Brich <radek.brich@devl.cz>
parents:
diff changeset
    50
	$(CXX) -c -o $@ $(DEFS) $(CCFLAGS) $(PY_CCFLAGS) $<