libnames := 3dengfx gfx nlibase dsys common
obj := src/src_pack.o $(foreach lib,$(libnames),src/$(lib)/$(lib)_pack.o)

opt := #-O3 -mmmx -msse -mfpmath=sse

CXXFLAGS := -g $(opt) -ansi -pedantic -Wall -DSINGLE_PRECISION_MATH\
			-Icommon -Igfx -I3dengfx -Inlibase `sdl-config --cflags`

demo2: $(obj)
	$(CXX) -o $@ $(obj) -lGL -lGLU -ln3dmath2 -lbz2 \
	`sdl-config --libs` `pkg-config libpng --libs` -lvorbisfile -lvorbis -logg

%.o:
	cd $(@D); make

#%.o:
#	cd src; make

3dengfx:
	cd src/3dengfx; make; cd ../..

gfx:
	cd src/gfx; make; cd ../..

dsys:
	cd src/dsys; make; cd ../..

.PHONY: clean
clean:
	@echo Cleaning...
	cd src/common; make clean
	cd src/3dengfx; make clean
	cd src/gfx; make clean
	cd src/nlibase; make clean
	cd src/dsys; make clean
	cd src; make clean
