# game name
GAME_NAME=alienBlaster

# the compiler to use
COMPILER=g++

# include path
INCLUDE_PATH=-I.

#OPTIMIZATION=-g -pg -fprofile-arcs
OPTIMIZATION=-O3
#OPTIMIZATION=-g
#OPTIMIZATION=

# SDL library
SDL_LIBS=$(shell sdl-config --libs)
SDL_FLAGS=$(shell sdl-config --cflags)

# game flags
GAME_FLAGS=-D_GNU_SOURCE -Wall -Winline -finline-functions $(SDL_FLAGS) $(OPTIMIZATION)
GAME_LIBS=-lSDL_mixer -lvorbisfile -lvorbis -logg -lSDL $(OPTIMIZATION)

# all objectfiles
OBJECT_FILES=main.o surfaceDB.o soundDB.o options.o geometry.o video.o game.o \
	racer.o racers.o shots.o shot.o boundingBox.o items.o item.o font.o \
	explosion.o explosions.o mixer.o enemys.o enemy.o wrecks.o wreck.o \
	settings.o intro.o setDifficulty.o global.o formation.o infoscreen.o \
	menuArcadeMode.o sonic.o banners.o banner.o smokePuff.o smokePuffs.o \
	shieldGlow.o background.o input.o

.PHONY: all game clean rebuild tgz

all: $(GAME_NAME)

clean:
	rm -f *.o *.da

rebuild: clean game

.SUFFIXES: .cc

# How to compile a c++ programm
$(GAME_NAME): $(OBJECT_FILES)
	@echo ""
	@echo ""
	@echo "Linking $@"
	@$(COMPILER) -nix --prefix "/progdir" -s $(OBJECT_FILES) $(GAME_LIBS) -o $(GAME_NAME)
	mv $(GAME_NAME) ../

%.o: %.cc
	@echo ""
	@echo ""
	@echo "Compiling $<"
	@$(COMPILER) $(GAME_FLAGS) $(INCLUDE_PATH) -c $< -o $@ 
