CROSS := ppc-amigaos
CC := $(CROSS)-gcc
CXX := $(CROSS)-g++
AR := $(CROSS)-ar
STRIP := $(CROSS)-strip
RM := rm -f

CFLAGS := -O2 -g -Wall -Isrc -Isrc/boost/include -Isrc/lua \
	-I/SDK/local/common/include/SDL -I/SDK/local/newlib/include/aos4util
CXXFLAGS := $(CFLAGS)
LDFLAGS := -static
LIBS := -laos4util -lSDL_gfx -lSDL_image -ltiff -ljpeg -lpng -lz -lSDL_mixer \
	-lFLAC -lvorbisfile -lvorbis -logg -lsmpeg -lmodplug -lmikmod -lSDL_ttf \
	-lfreetype -lSDL_net -lSDL -lintl -liconv -lpthread -lunix -lstdc++

BOOST_OBJS := signals/connection.o signals/named_slot_map.o \
	signals/signal_base.o signals/slot.o signals/trackable.o
LUA_OBJS := lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \
	lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o  \
	lundump.o lvm.o lzio.o lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o \
	loslib.o ltablib.o lstrlib.o loadlib.o linit.o
SRC_DIRS := src src/ai src/economy src/editor src/editor/tools \
	src/editor/ui_menus src/game_io src/graphic src/graphic/render src/io \
	src/io/filesystem src/logic src/map_io src/network src/profile \
	src/scripting src/sound src/ui_basic src/ui_fsmenu src/wui
SRCS := $(wildcard $(addsuffix /*.cc,$(SRC_DIRS)))
OBJS := $(SRCS:.cc=.o) \
	$(addprefix src/boost/src/,$(BOOST_OBJS))
	

.PHONY: all
all: widelands

widelands: widelands.debug
	$(STRIP) -R.comment -o $@ $<

widelands.debug: $(OBJS) liblua.a
	$(CXX) $(LDFLAGS) -o $@ $^ $(LIBS)

liblua.a: $(addprefix src/lua/,$(LUA_OBJS))
	$(AR) -crv $@ $^

.PHONY: clean
clean:
	$(RM) widelands liblua.a *.debug src/*.o src/*/*.o src/*/*/*.o src/*/*/*/*.o

