1 # (C) 2007 by Tomasz bla Fortuna
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
11 LDFLAGS
=-lSDL
`pkg-config --libs libxml-2.0`
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
)
29 .PHONY
: main
clean docclean
distclean doc doxygen
39 @echo
'(DEP) $< -> $@'
46 @echo
'(OBJ) $< -> $@'
47 @
$(CC
) -c
$(CFLAGS
) -o
$@
$<
51 @
$(CC
) $(CFLAGS
) $(LDFLAGS
) -o
$(EXEC
) $(OBJECTS
)
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
78 rm -rf Docs
/html Docs
/latex
80 distclean: clean docclean
81 rm -f blaRAY blaray
$(DEPS
) tags