DBG = -g
CC	= gcc
WARNFLAGS = -Wall -Wmissing-declarations -Wdeclaration-after-statement -Wcast-align -Winline -Wsign-compare -Wnested-externs -Wpointer-arith -Wformat-security
override CFLAGS += -D_REENTRANT -O2 $(shell sdl-config --cflags) $(DBG) $(WARNFLAGS)

.PHONY: all clean install
all: sdlbomber

sdlbomber: announce.o bomber.o draw.o game.o gfx.o sound.o list.o network.o menu.o utils.o
	gcc -o $@ $^ $(shell sdl-config --libs) -lavahi-common -lavahi-client $(DBG)

matcher: matcher.c

announce.o: announce.c announce.h network.h

bomber.o: bomber.c announce.h bomber.h draw.h game.h gfx.h list.h menu.h network.h sound.h utils.h

draw.o: draw.c draw.h bomber.h gfx.h

game.o: game.c announce.h bomber.h draw.h game.h gfx.h list.h menu.h network.h sound.h utils.h

gfx.o: gfx.c gfx.h bomber.h

list.o: list.c bomber.h list.h utils.h

menu.o: menu.c announce.h bomber.h draw.h game.h gfx.h list.h menu.h network.h sound.h utils.h

network.o: network.c announce.h bomber.h game.h menu.h network.h utils.h

sound.o: sound.c sound.h

utils.o: utils.c bomber.h utils.h gfx.h

clean:
	rm -f *.o matcher sdlbomber

install: sdlbomber
	echo "Installing into $(DESTDIR)"
	mkdir -p "$(DESTDIR)/usr/bin/" "$(DESTDIR)/usr/share/sdlbomber/"
	install -m 0755 sdlbomber "$(DESTDIR)/usr/bin/"
	install -m 0644 data/*.pcx data/*.raw "$(DESTDIR)/usr/share/sdlbomber/"