#DESTDIR=/home/guigui/install

CFLAGS  = -g -Wall $$(sdl-config --cflags) -DHAVE_OPENGL #--coverage #-fprofile-use #-pg
LDFLAGS = -O2 #--coverage #-fprofile-use #-pg
LDLIBS  = $$(sdl-config --libs) -lSDL_image -lSDL_mixer -lSDL_ttf

OBJS =  graphics.o font.o list.o sprite.o events.o editor_texts.o \
	Splayer.o Sother.o background.o video.o tool.o \
	mixer.o level_file.o level.o worldmap.o edit_keys.o menu.o

EXEOB = MoleInvasion
EDTOB = editor
EDWOB = editworld

LINLIBS=$(LDLIBS) -lGL
LINEXE = ../lin/moleinvasion
LINEDT = ../lin/editor
LINEDW = ../lin/editworld

WINLIBS=$(LDLIBS) -lopengl32
WINEXE = ../win/moleinvasion.exe
WINEDT = ../win/editor.exe
WINEDW = ../win/editworld.exe

FINALEXEDIR=$(DESTDIR)/usr/games
FINALDATADIR=$(DESTDIR)/usr/share/games/moleinvasion

CFLAGS+=-DDATADIR='"$(FINALDATADIR)"'

all: linux

linux : $(LINEXE) $(LINEDT) $(LINEDW)

mgwin : $(WINEXE) $(WINEDT) $(WINEDW)

install:
	mkdir -p $(FINALEXEDIR)
	cp $(LINEXE) $(FINALEXEDIR)/moleinvasion
	cp $(LINEDT) $(FINALEXEDIR)/moleinvasion-editlevel
	cp $(LINEDW) $(FINALEXEDIR)/moleinvasion-editworld

install-data:
	mkdir -p $(FINALDATADIR)/gfx
	mkdir -p $(FINALDATADIR)/snd
	mkdir -p $(FINALDATADIR)/music
	mkdir -p $(FINALDATADIR)/lvl
	mkdir -p $(FINALDATADIR)/txt
	mkdir -p $(FINALDATADIR)/font
	cp -rf ../gfx ../font ../lvl ../snd ../music ../txt $(FINALDATADIR)/
	find $(FINALDATADIR)/ -name "*.*g" -exec chmod -x {} \;
	-find $(FINALDATADIR)/ -name ".xvpics" -exec rm -rf {} \;

clean:; rm -f *.gc* *.o $(LINEXE) $(LINEDT) $(LINEDW) $(WINEXE) $(WINEDT) $(WINEDW)

nsis: ../NSIS/mole.nsi $(WINEXE) $(WINEDT) $(WINEDW)
	strip $(WINEXE) $(WINEDT) $(WINEDW)
	makensis ../nsis/mole.nsi

molerc.o: mole.rc mole.ico
	windres -i mole.rc -o molerc.o
$(WINEXE): $(OBJS) $(EXEOB).o molerc.o
	$(CC) $(LDFLAGS) $+ $(LOADLIBES) $(WINLIBS) -o $@
$(WINEDT): $(OBJS) $(EDTOB).o molerc.o
	$(CC) $(LDFLAGS) $+ $(LOADLIBES) $(WINLIBS) -o $@
$(WINEDW): $(OBJS) $(EDWOB).o molerc.o
	$(CC) $(LDFLAGS) $+ $(LOADLIBES) $(WINLIBS) -o $@

$(LINEXE): $(OBJS) $(EXEOB).o
	$(CC) $(LDFLAGS) $+ $(LOADLIBES) $(LINLIBS) -o $@
$(LINEDT): $(OBJS) $(EDTOB).o
	$(CC) $(LDFLAGS) $+ $(LOADLIBES) $(LINLIBS) -o $@
$(LINEDW): $(OBJS) $(EDWOB).o
	$(CC) $(LDFLAGS) $+ $(LOADLIBES) $(LINLIBS) -o $@
