# boss_eik9 (eng1 + view3 + eik9)
#
# Please apply boss.cpp.patch to boss.cpp!
#
# boss.mbm is built with bmconv of the EPOC SDK

default: bosseng.dll bossview.dll boss.app boss.rsc boss.aif

.PHONY: default clean

# Choose CROSS_CC or EPOC_CC:
CC=$(CROSS_CC)

# Cross compiler
CROSS_CC=arm-epoc-pe-gcc -I. -shared

# Compiler running under EPOC
#   The option -save-temps saves memory by running the preprocessor as
#   separate pass -- you'll need about 16 MB for bosseng.dll, 18 MB
#   for bossview.dll, and unfortunately more than 19 MB for boss.app
#   (TODO).  You should delete the saved "temporary" files afterwards
EPOC_CC=gcc -I. -shared -save-temps

LIBS=-leikon -lapparc -lprint -lefsrv -lcone -lestor -lgdi -lws32

bosseng.dll bosseng.lib: bosseng.cpp bosseng.h
	$(CC) -o bosseng.dll bosseng.cpp $(LIBS) \
		-Zimplib bosseng.lib -Zmap bosseng.map -Zdef bosseng.def \
		-uid3 0x10000251

bossview.dll bossview.lib: bossview.cpp bossview.h bosseng.lib
	$(CC) -o bossview.dll bossview.cpp bosseng.lib $(LIBS) \
		-Zimplib bossview.lib -Zmap bossview.map -Zdef bossview.def \
		-uid3 0x10000252

boss.app: boss.cpp boss.h boss.hrh bossview.h boss.rsg bosseng.lib bossview.lib
	$(CC) -o boss.app boss.cpp bosseng.lib bossview.lib $(LIBS) \
		-Zmap boss.map -Zdef boss.def \
		-uid3 0x10000253

boss.rsc boss.rsg: boss.rss boss.hrh
	emxrsc -s boss.rss -o boss.rsc -h boss.rsg

boss.aif: bossemb.rss boss.mbm
	emxaif -o boss.aif bossemb.rss boss.mbm

clean:
	rm -f bosseng.o bosseng.lib bosseng.dll bosseng.map bosseng.def
	rm -f bossview.o bossview.lib  bossview.dll bossview.map bossview.def
	rm -f boss.o boss.app boss.map boss.def
	rm -f boss.rsc boss.rsg boss.aif
