# (C) 2003 XDA Developers  itsme@xs4all.nl
#
# $Header: /var/lib/cvs/xdautils/extrom/Makefile,v 1.1 2004/05/11 13:06:15 itsme Exp $
#
# note: commands should contain forward slashes
#       double quoted strings may contain dos-type backslashes in paths
#
# currently you have to manually switch the '300' and '420' in this file
# to switch between a ppc2002/ce3.00 and ppc2003/ce4.20 version of testpi.exe
#
out=../build
obj=../build/ce

include ../local.mak

cc=$(cesdk)/bin/clarm.exe
rc=$(cetools)/bin/rc.exe
#!!! do not name this variable 'link', it confuses the linker.
ld=$(cesdk)/bin/link.exe
libtool=$(cesdk)/bin/lib.exe
include=$(ppcsdk)\include
lib=$(ppcsdk)\lib\arm

# compiler flags
pbincs=/I "$(pbsrc420)\PRIVATE\WINCEOS\COREOS\NK\INC" /I "$(pbsrc420)\PUBLIC\COMMON\OAK\INC" /I "$(pbsrc420)\PUBLIC\COMMON\SDK\INC"

# /Zi /Od /Fd"$(out)" for debugging
# /O2      for release
cflags=/nologo /W3 /O2 /MC /c /Fo"$(obj)/" /I "$(stlevc)" $(pbincs) /I "..\include" /I "../dll" /I "../common"
targetdefs=/D "ARM" /D "_ARM_" /D "SA1100" /D "ARMV4"
platformdefs=/D _WIN32_WCE=420 /D "WIN32_PLATFORM_PSPC=310" /D UNDER_CE=420 /D "UNICODE" /D "_UNICODE"
cdefs=/D "DEBUG" $(targetdefs) $(platformdefs)
dlldefs=/D "_USRDLL"

# linker flags
lddllflags=/entry:"_DllMainCRTStartup" /dll 
ldexeflags=/entry:"WinMainCRTStartup"
ldplatformflags=/subsystem:windowsce,3.00 /align:"4096" 
ldtargetflags=/MACHINE:ARM 
ldflags=/nologo /base:"0x00100000" /stack:0x10000,0x1000 $(ldtargetflags) $(ldplatformflags)
libpaths=/libpath:"$(lib)"

nodeflib=/nodefaultlib:libc.lib /nodefaultlib:libcd.lib /nodefaultlib:libcmt.lib /nodefaultlib:libcmtd.lib /nodefaultlib:msvcrt.lib /nodefaultlib:msvcrtd.lib /nodefaultlib:oldnames.lib

# rc flags
rcflags= /l 0x409 /d UNDER_CE=300 /d _WIN32_WCE=300 /d UNICODE /d _UNICODE /d NDEBUG /d WIN32_PLATFORM_PSPC=310 /d ARM /d _ARM_ 

all: $(out)/unlockextrom.exe

$(obj)/debug.obj: ../common/debug.cpp
	"$(cc)" $(cflags) $(cdefs) $^
$(obj)/stringutils.obj: ../common/stringutils.cpp
	"$(cc)" $(cflags) $(cdefs) $^
$(obj)/vectorutils.obj: ../common/vectorutils.cpp
	"$(cc)" $(cflags) $(cdefs) $^

$(obj)/unlockextrom.obj: unlockextrom.cpp
	"$(cc)" $(cflags) $(cdefs) $^
$(obj)/unlockextrom.res: unlockextrom.rc
	"$(rc)" $(rcflags) /fo$@ /r $^

$(out)/unlockextrom.exe: $(obj)/unlockextrom.obj $(obj)/debug.obj $(obj)/stringutils.obj $(obj)/unlockextrom.res
	"$(ld)" $(libpaths) $(ldflags) $(extralibs) $(nodeflib) /out:$@ $^


clean:
	rm $(out)/unlockextrom.*

