# Compiler
CXX=g++

# if your program has more than one source file, add more .o files to the line
# below
OBJECTS=configuration/configuration.o \
	gui/myframe.o \
	gui/myapp.o \
	gui/changeakeydialog.o \
	gui/keydialog.o \
	gui/mytextctrl.o \
	gui/romlistctrl.o \
	gui/myaboutdialog.o \
	md5/md5.o \
	md5/romslist.o \
	wxosmose.o

CONSOLE=gui/debugconsole.o

# set this to the name of the main executable file
PROGRAM = wxosmose
# WX Config
WX_CONFIG=wx-config

# Rules
.SUFFIXES:	.o .cpp

.cpp.o :
	$(CXX) $(FLAGS) -c `$(WX_CONFIG) $(WXCXXFLAGS)` -o $@ $<

all:    release

release:	FLAGS=-O3 -Wall
release:	WXLIBS=--libs
release:	WXCXXFLAGS=--cxxflags
release:	build 

debug:		FLAGS=-D_DEBUG_
debug:		WXLIBS=--libs
debug:		WXCXXFLAGS=--cxxflags
debug:		build


debug_console:	FLAGS=-D_DEBUG_CONSOLE_
debug_console:	WXLIBS=--libs
debug_console:	WXCXXFLAGS=--cxxflags
debug_console:	build_console

static_debug_console:	FLAGS=-D_DEBUG_CONSOLE_
static_debug_console:	WXLIBS=--libs --static=yes
static_debug_console:	WXCXXFLAGS=--cxxflags --static=yes
static_debug_console:	build_console

static:		FLAGS=-O3 -Wall
static:		WXLIBS=--libs --static=yes
static:		WXCXXFLAGS=--cxxflags --static=yes
static:		build

build:		$(OBJECTS)
	@echo "Compiling Unzip Dependency"
	cd md5/zlib && make libz.a
	cd ../..
	cd md5/unzip && make unzip.a
	cd ../..

	$(CXX) $(FLAGS) -o $(PROGRAM) $(OBJECTS) md5/unzip/unzip.a md5/zlib/libz.a `$(WX_CONFIG) $(WXLIBS)`

build_console:		$(OBJECTS) $(CONSOLE)
	@echo "Compiling Unzip Dependency"
	cd md5/zlib && make libz.a
	cd ../..
	cd md5/unzip && make unzip.a
	cd ../..

	$(CXX) $(FLAGS) -o $(PROGRAM) $(OBJECTS) md5/unzip/unzip.a md5/zlib/libz.a $(CONSOLE) `$(WX_CONFIG) $(WXLIBS)`


clean:
	rm -f $(PROGRAM)
	rm -f $(OBJECTS)
	rm -f $(CONSOLE)

debian:
	fakeroot dpkg-buildpackage
