equal
  deleted
  inserted
  replaced
  
    
    
         | 
     1 CCFLAGS=-Wall -O3 -I./src  | 
         | 
     2 LDFLAGS=  | 
         | 
     3   | 
         | 
     4 ifeq ($(OS), Windows_NT)  | 
         | 
     5   CCFLAGS+=-I"C:/Program Files/Python25/include"  | 
         | 
     6   LDFLAGS+=-L"C:\Program Files\Python25\libs" -lpython25  | 
         | 
     7   MODULENAME=raytracer.pyd  | 
         | 
     8 else  | 
         | 
     9   CCFLAGS+=-fPIC -I/usr/include/python2.4  | 
         | 
    10   MODULENAME=raytracermodule.so  | 
         | 
    11 endif  | 
         | 
    12   | 
         | 
    13 # optimisations  | 
         | 
    14 #CCFLAGS+=-pipe -fomit-frame-pointer -ffast-math -msse3  | 
         | 
    15   | 
         | 
    16   | 
         | 
    17 # TARGETS  | 
         | 
    18 #########  | 
         | 
    19   | 
         | 
    20 all: python-module  | 
         | 
    21   | 
         | 
    22 python-module: $(MODULENAME)  | 
         | 
    23   | 
         | 
    24 tests: testvector testmatrix  | 
         | 
    25   | 
         | 
    26 clean:  | 
         | 
    27 	rm -f *.o $(MODULENAME) testvector testmatrix  | 
         | 
    28   | 
         | 
    29   | 
         | 
    30 # RULES  | 
         | 
    31 #######  | 
         | 
    32   | 
         | 
    33 %.o: src/%.cc  | 
         | 
    34 	$(CXX) -c -o $@ src/$*.cc $(CCFLAGS)  | 
         | 
    35   | 
         | 
    36 test%: tests/%.cc   | 
         | 
    37 	$(CXX) -o $@ tests/$*.cc $(CCFLAGS)   | 
         | 
    38 	./$@  | 
         | 
    39   | 
         | 
    40   | 
         | 
    41 # DEPENDENCIES  | 
         | 
    42 ##############  | 
         | 
    43   | 
         | 
    44 # C++ raytracer  | 
         | 
    45 vector.o: src/vector.cc src/vector.h  | 
         | 
    46 matrix.o: src/matrix.cc src/matrix.h src/vector.h  | 
         | 
    47 noise.o: src/noise.cc src/noise.h  | 
         | 
    48 scene.o: src/scene.cc src/scene.h src/vector.h src/noise.h  | 
         | 
    49 raytracer.o: src/raytracer.cc src/raytracer.h src/scene.h src/vector.h src/noise.h  | 
         | 
    50   | 
         | 
    51 # python module  | 
         | 
    52 raytracermodule.o: src/raytracermodule.cc src/raytracer.h src/scene.h src/vector.h  | 
         | 
    53 $(MODULENAME): raytracermodule.o raytracer.o scene.o noise.o  | 
         | 
    54 	$(CXX) $^ -shared -o $@ $(LDFLAGS)  | 
         | 
    55   | 
         | 
    56 # library tests  | 
         | 
    57 testvector: tests/vector.cc src/vector.h  |