# Thanks for juvinious for making the makefile linux-compatible

#####################NOTE TO PEOPLE COMPILING FOR GP2X###########################
######SCROLL DOWN FOR LARGE COMMENT BLOCKS FOR INSTRUCTIONS######################
#################################################################################

SRC := $(wildcard *.cpp)
OBJS := $(SRC:.cpp=.o) resource.o
OPTIONS = -Wno-deprecated -Wno-deprecated-declarations -O3
EX_NAME = ../bin/bunkermaster.exe
RUN_WINDRES=windres -O coff -o -i resource.rc -o resource.o
LIBFLAGS=-lalleg
RM=del
GPP=g++
INCDIR=

#Operating System Checks to change certain flags and variables
ifeq "$(findstring Windows, $(shell ver))" "Windows"
	ifdef STATICLINK
		LIBFLAGS=-lalleg_s -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lole32 -ldinput -lddraw -ldxguid -lwinmm -ldsound
	else
		LIBFLAGS=-lalleg
	endif
	OBJS := $(SRC:.cpp=.o) resource.o
	EX_NAME=..\bin\bunkermaster.exe
	RUN_WINDRES=windres -O coff -o -i resource.rc -o resource.o
	RM=del
	OPTIONS += -mwindows
endif

ifeq "$(findstring linux, $(shell echo $$OSTYPE))" "linux"
	LIBFLAGS=`allegro-config --libs`
	OBJS := $(SRC:.cpp=.o)
	EX_NAME=../bin/bunkermaster
	RUN_WINDRES=-echo "HI"
	RM=-rm
	NO_FBLEND=1
endif

ifdef NO_FBLEND
	OPTIONS += -DNO_FBLEND
else
	ifdef STATICLINK
		LIBS += -lfblend_s
	else
		LIBS += -lfblend
	endif
endif
ifdef STATICLINK
	OPTIONS += -DALLEGRO_STATICLINK
endif

#####################NOTE TO PEOPLE COMPILING FOR GP2X###########################
#################################################################################
########THE FOLLOWING PATHS WILL ALMOST CERTAINLY NEED TO BE EDITED##############
#################################################################################
######EDIT THE PATH TO g++ AND THE PATH TO THE lib AND include DIRECTORIES#######
ifdef GP2X
	GPP=/opt/open2x/gcc-4.1.1-glibc-2.3.6/bin/arm-open2x-linux-g++
	LIBFLAGS+= -L/opt/open2x/gcc-4.1.1-glibc-2.3.6/lib
	INCDIR=-I/opt/open2x/gcc-4.1.1-glibc-2.3.6/include
	OPTIONS+= -DGP2X
endif

ifdef TESTGP2X
	OPTIONS+= -DGP2X
endif

LIBS += -laldmb -ldumb $(LIBFLAGS)

all: bunkermaster

clean:
	$(RM) *.o $(EX_NAME)
	
bunkermaster: $(OBJS)
	$(GPP) -s $^ -o $(EX_NAME) -g -mwindows $(LIBS)
	
resource.o: resource.rc
	$(RUN_WINDRES)

%.o: %.cpp
	$(GPP) -c -g $(OPTIONS) $(INCDIR) $< -o $@
	