# (C) 2003 XDA Developers  itsme@xs4all.nl
#
# $Header$
#
# note: commands should contain forward slashes
#       double quoted strings may contain dos-type backslashes in paths
out=../build
obj=../build/ce

include ../local.mak

# /Zi /Od /Fd"$(out)" for debugging
# /O2      for release
cflags=/nologo /W3 /O2 /c /Fo"$(obj)/" /I "..\include" /I "../libril" /I "../common" /I "../dll" /EHsc /I ../include/msvc
targetdefs=/D "ARM" /D "_ARM_" /D "ARMV4"
pmdef300=/D _WIN32_WCE=300 /D "WIN32_PLATFORM_PSPC=310" /D UNDER_CE=300
pmdef420=/D _WIN32_WCE=420 /D "WIN32_PLATFORM_PSPC=400" /D UNDER_CE=420
cdefs=$(targetdefs) /D "UNICODE" /D "_UNICODE" /D "NDEBUG"
cdefs+=/D _CRT_SECURE_NO_WARNINGS /D _SECURE_SCL=0 /D _HAS_ITERATOR_DEBUGGING=0
dlldefs=/D "_USRDLL"

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

all: $(out)/tlbdump.exe

$(obj)/debug.obj: ../common/debug.cpp
	@"$(cecc)" $(cflags) $(cdefs) $(pmdef420) $(pb420incs) $^
$(obj)/stringutils.obj: ../common/stringutils.cpp
	@"$(cecc)" $(cflags) $(cdefs) $(pmdef420) $(pb420incs) $^

$(obj)/tlbdump.obj: tlbdump.cpp
	@"$(cecc)" $(cflags) $(cdefs) $(pmdef420) $(pb420incs) $^

$(out)/tlbdump.exe: $(obj)/tlbdump.obj $(obj)/debug.obj $(obj)/stringutils.obj
	@"$(celd)" $(libpaths) $(ldflags) $(extralibs) coredll.lib corelibc.lib /out:$@ $^

clean:
	rm $(out)/tlbdump.*

test: $(out)/tlbdump.exe
	$(SIGNIT) $(out)/tlbdump.exe
	pput -f $(out)/tlbdump.exe \windows
	pdel \tlbdump.log
	prun tlbdump.exe 0x10200000

get:
	pget -f \tlbdump.log $(out)
	cat $(out)/tlbdump.log

