Removed unnecessary \bug declarations.
[blaRAY.git] / Makefile
blob04bf309a589f3d6321768ffaf5edc04cf51794b4
1 # (C) 2007 by Tomasz bla Fortuna
2 # License: GNU GPL3+
4 ##
5 # Configuration
6 ##
7 CC=g++
8 CFLAGS=-Wall -O1 -ggdb -I. `pkg-config --cflags libxml-2.0`
9 #CFLAGS=-pipe -Wall -O3 -I. `pkg-config --cflags libxml-2.0` -march=athlon64 -fomit-frame-pointer -mmmx -msse -msse2 -msse3 -m3dnow
10 CPPFLAGS=$(CFLAGS)
11 LDFLAGS=-lSDL `pkg-config --libs libxml-2.0`
12 MAKEDEPS=./makedeps
14 # Source files
15 IO= Graphics/Screen.cc Graphics/Image.cc
16 MATH= Math/Matrix.cc Math/Transform.cc Math/Vector.cc
17 SCENE= World/Object.cc World/Plane.cc World/Color.cc \
18 World/Texture.cc World/Material.cc \
19 World/Sphere.cc World/Light.cc World/Camera.cc \
20 World/Scene.cc World/SceneXML.cc
21 RENDER= Render/Ray.cc Render/Photon.cc Render/Raytracer.cc
22 MISC= General/Testcases.cc
23 SOURCES=$(IO) $(MATH) $(SCENE) $(RENDER) $(MISC) blaRAY.cc
25 OBJECTS=$(SOURCES:.cc=.o)
26 DEPS=$(SOURCES:.cc=.d)
27 EXEC=blaRAY
29 .PHONY: main clean docclean distclean doc doxygen
31 main: $(EXEC)
32 -include $(DEPS)
35 ###
36 # Dependencies
37 ###
38 %.d: %.cc
39 @echo '(DEP) $< -> $@'
40 @$(MAKEDEPS) $<
43 # Building rules
45 %.o: %.cc
46 @echo '(OBJ) $< -> $@'
47 @$(CC) -c $(CFLAGS) -o $@ $<
49 $(EXEC): $(OBJECTS)
50 @echo 'Linking $@...'
51 @$(CC) $(CFLAGS) $(LDFLAGS) -o $(EXEC) $(OBJECTS)
54 # Docs / Stats
56 doxygen:
57 doxygen
59 doc: doxygen
60 (cd Docs/latex; make)
61 stats:
62 @echo -n "File count: "
63 @ls *.cc */*.cc */*.hh | wc -l
64 @echo "Line, word, bytes stats:"
65 @wc *.cc */*.cc */*.hh
66 @echo -n "In .hh files: "
67 @wc *.hh */*.hh 2>/dev/null | tail -n1
68 @echo -n "In .cc files: "
69 @wc *.cc */*.cc 2>/dev/null | tail -n1
71 ###
72 # Cleaning facilities
73 ###
74 clean:
75 rm -f $(OBJECTS)
77 docclean:
78 rm -rf Docs/html Docs/latex
80 distclean: clean docclean
81 rm -f blaRAY blaray $(DEPS) tags