# (C) 2003 XDA Developers itsme@xs4all.nl # # $Header$ # # 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 # multiversion_support=1 out:=../build obj:=../build/ce include ../local.mak #!!! do not name this variable 'link', it confuses the linker. # compiler flags 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 pmdef500:=/D _WIN32_WCE=500 /D "WIN32_PLATFORM_PSPC" /D UNDER_CE=500 # # !! include pb420incs before include to get the right nled.h file # /Zi /Od /Fd"$(out)" for debugging # /O2 for release cflags:=/Zi /nologo /W3 /O2 /c /Fo"$(obj)/" /I "..\include" /I "../dll" /I "../common" /EHsc /FI ../common/nowarn.h /I ../include/msvc targetdefs:=/D "ARM" /D "_ARM_" /D "ARMV4" #/D "DEBUG" cdefs:=$(targetdefs) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" cdefs+=/D _CRT_SECURE_NO_WARNINGS /D _SECURE_SCL=0 /D _HAS_ITERATOR_DEBUGGING=0 /D NOMINMAX /D _AA_WITH_WINMAIN 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) ldflags+= /debug /map ldflagsLARGE:=$(subst stack:0x10000,stack:0x20000,$(ldflags)) libpaths:=/libpath:"$(celib)" /libpath:"$(ppclib)" all: $(obj) all2 BattLogger.arm.CAB setuptst.arm.CAB ../dll/cever_deps.h: ../dll/cever_deps.cpp perl generate_cever_h.pl ../dll/cever_deps.cpp > ../dll/cever_deps.h $(obj): mkdir -p $(obj) $(out)/gtststr.exe: tststr.cpp g++ -Wall -lshlwapi -o $@ $^ $(out)/wtststr.exe: tststr.cpp "$(w32cc)" /EHsc /Wall /wd4668 /wd4820 -o $@ shlwapi.lib $^ #Exports=Close Deinit IOControl Init Open PowerDown PowerUp Read Seek Write ####printf "LIBRARY rdodev.dll \r\n" > $(obj)/logdev.def ####printf "\r\n" >> $(obj)/logdev.def ####printf "EXPORTS \r\n" >> $(obj)/logdev.def ####$(foreach m,$(Exports),printf " RDO_$(m)=$(m)\r\n" >> $(obj)/logdev.def; ) # ... /def:$(obj)/logdev.def $(out)/logdev.dll: $(obj)/logdev.obj $(obj)/stringutils.obj $(obj)/devicedriverloader.obj $(obj)/RegistryFunctions.obj $(obj)/debug.obj @"$(celd)" $(libpaths) $(ldflagsLARGE) /entry:"start" $(celdtargetflags) $(lddllflags) /out:$@ $^ coredll.lib corelibc.lib secchk.lib ccrtrtti.lib @$(SIGNIT) $@ APPLIST+=logdev.dll CLEANLIST+=$(out)/logdev.dll CLEANLIST+=$(obj)/logdev.obj CLEANLIST+=$(obj)/logdev.def $(out)/logdev2.dll: $(obj)/logdev2.obj $(obj)/stringutils.obj $(obj)/devicedriverloader.obj $(obj)/RegistryFunctions.obj $(obj)/debug.obj @"$(celd)" $(libpaths) $(ldflagsLARGE) /entry:"start" $(celdtargetflags) $(lddllflags) /out:$@ $^ coredll.lib corelibc.lib secchk.lib ccrtrtti.lib @$(SIGNIT) $@ NPAPPLIST+=logdev2.dll CLEANLIST+=$(out)/logdev2.dll CLEANLIST+=$(obj)/logdev2.obj CLEANLIST+=$(obj)/logdev2.def $(out)/tstdll.dll: $(obj)/tstdll.obj @"$(celd)" $(libpaths) /entry:"entrypoint" $(celdtargetflags) /export:"entrypoint" /subsystem:windowsce /nodefaultlib:corelibc.lib /nodefaultlib:coredll.lib /nodefaultlib:oldnames /dll /out:$@ $^ APPLIST+=tstdll.dll CLEANLIST+=$(out)/tstdll.dll CLEANLIST+=$(obj)/tstdll.obj cflags_setupdll:=/D "SETUPDLL_EXPORTS" $(out)/setupdll.dll: $(obj)/setupdll.obj $(obj)/debug.obj $(obj)/stringutils.obj @"$(celd)" /entry:"_DllMainCRTStartup" $(celdtargetflags) /subsystem:windowsce $(libpaths) coredll.lib corelibc.lib $(extralibs) /dll /out:$@ $^ APPLIST+=setupdll.dll CLEANLIST+=$(out)/setupdll.dll CLEANLIST+=$(obj)/setupdll.obj setuptst.arm.CAB: setuptst.inf $(out)/setupdll.dll $(obj)/edb.lib: edb.def "$(celibtool)" /def:$< /out:$@ $(celdtargetflags) #$(obj)/dotst.obj: dotst.S # arm-wince-pe-gcc -c -o $@ $< $(obj)/tstreadedb.obj: tstreadedb.cpp @"$(cecc)" $(pb500incs) $(cflags) $(cdefs) $(pmdef500) $^ $(obj)/tstpoom.obj: tstpoom.cpp @"$(cecc)" $(pb500incs) $(cflags) $(cdefs) $(pmdef500) $^ $(obj)/tstedb.obj: tstedb.cpp @"$(cecc)" $(pb500incs) $(cflags) $(cdefs) $(pmdef500) $^ ifdef multiversion_support $(obj)/cever_deps300.obj: ../dll/cever_deps.cpp @"$(cecc)" $(cdefs) $(pmdef300) $(dlldefs) $(pb300incs) $(cflags) $^ /Fo"$@" $(obj)/cever_deps420.obj: ../dll/cever_deps.cpp @"$(cecc)" $(cdefs) $(pmdef420) $(dlldefs) $(pb420incs) $(cflags) $^ /Fo"$@" $(obj)/cever_deps500.obj: ../dll/cever_deps.cpp @"$(cecc)" $(cdefs) $(pmdef500) $(dlldefs) $(pb500incs) $(cflags) $^ /Fo"$@" endif ################################# define buildtarget APPLIST+=$1 CLEANLIST+=$(out)/$1 CLEANLIST+=$(basename $(out)/$1).pdb CLEANLIST+=$(basename $(out)/$1).map CLEANLIST+=$(addprefix $(obj)/,$2) $(out)/$1: $(addprefix $(obj)/,$2) endef define buildnptarget NPAPPLIST+=$1 CLEANLIST+=$(out)/$1 CLEANLIST+=$(basename $(out)/$1).pdb CLEANLIST+=$(basename $(out)/$1).map CLEANLIST+=$(addprefix $(obj)/,$2) $(out)/$1: $(addprefix $(obj)/,$2) endef define buildrules $(call buildtarget,vibrate.exe,vibrate.obj debug.obj stringutils.obj) $(call buildtarget,tstdev.exe,tstdev.obj debug.obj stringutils.obj devicedriverloader.obj RegistryFunctions.obj) $(call buildtarget,loadflashdrv.exe,loadflashdrv.obj debug.obj stringutils.obj kernelmisc.obj cever_deps300.obj cever_deps420.obj cever_deps500.obj MemoryUsage.obj devicedriverloader.obj RegistryFunctions.obj) $(call buildtarget,msmnand.exe,msmnand.obj debug.obj stringutils.obj) $(call buildtarget,unloaddev.exe,unloaddev.obj debug.obj stringutils.obj RegistryFunctions.obj) $(call buildtarget,loaddev.exe,loaddev.obj debug.obj stringutils.obj RegistryFunctions.obj) $(call buildtarget,flushdev.exe,flushdev.obj debug.obj stringutils.obj) $(call buildnptarget,tst-sha.exe,tst-sha.obj debug.obj stringutils.obj) $(call buildnptarget,tstperfc.exe,tstperfc.obj debug.obj stringutils.obj) $(call buildnptarget,tstidabug.exe,tstidabug.obj) tstidabug_libs=/nodefaultlib:oldnames $(call buildtarget,stackdumper.dll,stackdumper.obj printfformat.obj) stackdumper_libs=/nodefaultlib:oldnames /entry:DllMain $(call buildnptarget,tstxscale.exe,tstxscale.obj debug.obj stringutils.obj) $(call buildnptarget,tsttimers.exe,tsttimers.obj debug.obj stringutils.obj) $(call buildtarget,tstclock.exe,tstclock.obj debug.obj stringutils.obj) $(call buildtarget,getspi.exe,getspi.obj debug.obj stringutils.obj vectorutils.obj) $(call buildtarget,tstbkl.exe,tstbkl.obj debug.obj stringutils.obj) ifdef multiversion_support $(call buildtarget,opendisk.exe,opendisk.obj debug.obj stringutils.obj kernelmisc.obj cever_deps300.obj cever_deps420.obj cever_deps500.obj MemoryUsage.obj) endif opendisk_libs:=toolhelp.lib $(call buildnptarget,tstcrash.exe,tstcrash.obj debug.obj stringutils.obj) $(call buildtarget,tstexc.exe,tstexc.obj debug.obj stringutils.obj) $(call buildtarget,tstndis.exe,tstndis.obj debug.obj stringutils.obj) cflags_tstndis=-I "$(pbsrc500)\PUBLIC\COMMON\DDK\INC" tstndis_libs:=ndis.lib $(call buildtarget,netstat.exe,netstat.obj debug.obj stringutils.obj) netstat_libs:=iphlpapi.lib ws2.lib $(call buildtarget,tstenumnet.exe,tstenumnet.obj debug.obj stringutils.obj) tstenumnet_libs:=cellcore.lib $(call buildtarget,regbk.exe,pregutl.obj debug.obj stringutils.obj) $(call buildtarget,bkondisk.exe,bkondisk.obj debug.obj stringutils.obj) $(call buildtarget,rdwlan.exe,rdwlan.obj debug.obj stringutils.obj) $(call buildtarget,bksamsungflash.exe,bksamsungflash.obj debug.obj stringutils.obj) $(call buildtarget,dervkey.exe,dervkey.obj debug.obj stringutils.obj asciiapis.obj) dervkey_libs:=crypt32.lib $(call buildtarget,tststrata.exe,tststrata.obj debug.obj stringutils.obj) tststrata_libs:=toolhelp.lib $(call buildtarget,logcells.exe,logcells.obj debug.obj stringutils.obj) logcells_libs:=toolhelp.lib $(call buildnptarget,tstsystime.exe,tstsystime.obj debug.obj stringutils.obj) $(call buildnptarget,tstrng.exe,tstrng.obj debug.obj stringutils.obj) ifdef multiversion_support $(call buildtarget,tstwnd.exe,tstwnd.obj debug.obj stringutils.obj kernelmisc.obj cever_deps300.obj cever_deps420.obj cever_deps500.obj MemoryUsage.obj) endif tstwnd_libs:=toolhelp.lib $(call buildtarget,tststr.exe,tststr.obj) tststr_libs=/nodefaultlib:oldnames $(call buildtarget,phonevolume.exe,phonevolume.obj debug.obj stringutils.obj) $(call buildnptarget,tstayg.exe,tstayg.obj debug.obj stringutils.obj) $(call buildnptarget,tstgsmboot.exe,tstgsmboot.obj debug.obj stringutils.obj) $(call buildnptarget,tstsock.exe,tstsock.obj debug.obj stringutils.obj) tstsock_libs:=ws2.lib $(call buildtarget,tsttapi.exe,tsttapi.obj debug.obj stringutils.obj RegistryFunctions.obj) cflags_tsttapi=-I ../libril tsttapi_libs=-libpath:../build/ce ril.lib $(call buildtarget,setcfwd.exe,setcfwd.obj debug.obj stringutils.obj) cflags_setcfwd=-I ../libril setcfwd_libs=-libpath:../build/ce ril.lib $(call buildtarget,setcbst.exe,setcbst.obj debug.obj stringutils.obj) cflags_setcbst=-I ../libril setcbst_libs=-libpath:../build/ce ril.lib $(call buildnptarget,send_ath.exe,send_ath.obj debug.obj stringutils.obj) $(call buildtarget,circularbufmon.exe,circularbufmon.obj debug.obj stringutils.obj vectorutils.obj) $(call buildtarget,dbglog.exe,dbglog.obj debug.obj stringutils.obj vectorutils.obj kernelmisc.obj FileFunctions.obj) $(call buildtarget,readdbglog.exe,readdbglog.obj debug.obj stringutils.obj vectorutils.obj) $(call buildtarget,gsmbufmon.exe,gsmbufmon.obj debug.obj stringutils.obj vectorutils.obj) $(call buildtarget,imabufmon.exe,imabufmon.obj debug.obj stringutils.obj vectorutils.obj) $(call buildtarget,qualbufmon.exe,qualbufmon.obj debug.obj stringutils.obj vectorutils.obj) $(call buildtarget,sambufmon.exe,sambufmon.obj debug.obj stringutils.obj vectorutils.obj) $(call buildtarget,rashup.exe,rashup.obj debug.obj stringutils.obj) $(call buildnptarget,tstmsg.exe,tstmsg.obj debug.obj stringutils.obj) $(call buildtarget,ledtest.exe,ledtest.obj debug.obj stringutils.obj) $(call buildnptarget,tstmgwav.exe,tstmgwav.obj debug.obj stringutils.obj) $(call buildtarget,appevt.exe,appevt.obj debug.obj stringutils.obj) $(call buildtarget,logalive.exe,logalive.obj debug.obj stringutils.obj) $(call buildtarget,teststartrek.exe,teststartrek.obj debug.obj stringutils.obj) cflags_teststartrek=-D_BOOST_LITE -I "$(boost)" $(call buildtarget,testphoton.exe,testphoton.obj debug.obj stringutils.obj) cflags_testphoton=-D_BOOST_LITE -I "$(boost)" $(call buildtarget,chaininfo.exe,chaininfo.obj debug.obj stringutils.obj) $(call buildtarget,BattLogger.exe,BattLogger.obj debug.obj stringutils.obj RegistryFunctions.obj) $(call buildtarget,tstitsutils.exe,tstitsutils.obj debug.obj stringutils.obj) ifdef multiversion_support $(call buildtarget,audiodev.exe,audiodev.obj debug.obj stringutils.obj kernelmisc.obj cever_deps300.obj cever_deps420.obj cever_deps500.obj MemoryUsage.obj) endif audiodev_libs:=toolhelp.lib $(call buildnptarget,tstreadedb.exe,tstreadedb.obj debug.obj stringutils.obj edb.lib) $(call buildtarget,tstpoom.exe,tstpoom.obj debug.obj stringutils.obj edb.lib) tstpoom_libs:=ole32.lib oleaut32.lib $(call buildtarget,tstedb.exe,tstedb.obj debug.obj stringutils.obj edb.lib) $(call buildtarget,tstdb.exe,tstdb.obj debug.obj stringutils.obj) $(call buildtarget,tststk.exe,tststk.obj debug.obj stringutils.obj) ifdef multiversion_support $(call buildtarget,tstsdid.exe,tstsdid.obj debug.obj stringutils.obj kernelmisc.obj cever_deps300.obj cever_deps420.obj cever_deps500.obj MemoryUsage.obj) tstsdid_libs:=toolhelp.lib $(call buildtarget,loaddll.exe,loaddll.obj debug.obj stringutils.obj kernelmisc.obj cever_deps300.obj cever_deps420.obj cever_deps500.obj MemoryUsage.obj) loaddll_libs:=toolhelp.lib cflags_loaddll:=/I "$(boost)" endif $(call buildtarget,loadklib.exe,loadklib.obj debug.obj stringutils.obj dllloader.obj kernelmisc.obj cever_deps300.obj cever_deps420.obj cever_deps500.obj MemoryUsage.obj) cflags_loadklib=-I ../dllloader/ $(call buildtarget,tstreg.exe,tstreg.obj debug.obj stringutils.obj) $(call buildtarget,wcetrace.exe,wcetrace.obj debug.obj stringutils.obj) $(call buildtarget,tstkio.exe,tstkio.obj debug.obj stringutils.obj vectorutils.obj) $(call buildtarget,asynckeylog.exe,asynckeylog.obj debug.obj stringutils.obj vectorutils.obj) $(call buildtarget,tstdevio.exe,tstdevio.obj debug.obj stringutils.obj vectorutils.obj) $(call buildnptarget,antidebug.exe,antidebug.obj debug.obj stringutils.obj vectorutils.obj) $(call buildnptarget,tstserial.exe,tstserial.obj debug.obj stringutils.obj vectorutils.obj) $(call buildtarget,tstarg.exe,tstarg.obj debug.obj stringutils.obj vectorutils.obj) $(call buildtarget,prt.exe,prt.obj stringutils.obj) $(call buildtarget,tstcreateproc.exe,tstcreateproc.obj debug.obj stringutils.obj vectorutils.obj) $(call buildtarget,tstshexec.exe,tstshexec.obj debug.obj stringutils.obj vectorutils.obj) $(call buildtarget,tstnot.exe,tstnot.obj debug.obj stringutils.obj vectorutils.obj) tstnot_libs=aygshell.lib $(call buildnptarget,tstdevnot.exe,tstdevnot.obj debug.obj stringutils.obj vectorutils.obj) cflags_tstdevnot:=/I "$(boost)" -DBOOST_THREAD_NO_DATETIME -D_BOOST_LITE tstdevnot_libs:=/libpath:"$(boost)/lib-arm" $(call buildnptarget,tstwav.exe,tstwav.obj debug.obj stringutils.obj vectorutils.obj) $(call buildnptarget,tstomap.exe,tstomap.obj debug.obj stringutils.obj vectorutils.obj) $(call buildtarget,tstdsk.exe,tstdsk.obj debug.obj stringutils.obj) $(call buildtarget,tstcpu.exe,tstcpu.obj debug.obj stringutils.obj) $(call buildtarget,tcpipdump.exe,tcpipdump.obj debug.obj stringutils.obj) tcpipdump_libs=iphlpapi.lib $(call buildtarget,tstbxj.exe,tstbxj.obj debug.obj stringutils.obj) $(call buildtarget,tststores.exe,tststores.obj debug.obj stringutils.obj) $(call buildtarget,tsttffswork.exe,tsttffswork.obj debug.obj stringutils.obj) $(call buildtarget,tsttffs.exe,tsttffs.obj debug.obj stringutils.obj) ifdef multiversion_support $(call buildtarget,testpi.exe,testpi.obj debug.obj stringutils.obj kernelmisc.obj cever_deps300.obj cever_deps420.obj cever_deps500.obj MemoryUsage.obj) testpi_libs:= toolhelp.lib endif $(call buildtarget,setdevdata.exe,setdevdata.obj debug.obj stringutils.obj) $(call buildnptarget,tstoemsbl.exe,tstoemsbl.obj debug.obj stringutils.obj RegistryFunctions.obj) $(call buildtarget,loadxml.exe,loadxml.obj debug.obj stringutils.obj FileFunctions.obj) loadxml_libs:=aygshell.lib $(call buildnptarget,tstcs.exe,tstcs.obj debug.obj stringutils.obj) endef $(eval $(buildrules)) all2: $(addprefix $(out)/,$(APPLIST)) np: $(addprefix $(out)/,$(NPAPPLIST)) vpath .obj $(obj) $(out)/%.exe: $(obj)/%.obj @"$(celd)" $(libpaths) $(ldflags) coredll.lib corelibc.lib $(extralibs) $(ldexeflags) $($(basename $(notdir $@))_libs) /out:$@ $^ @$(SIGNIT) $@ $(out)/regbk.exe: @"$(celd)" $(libpaths) $(ldflags) coredll.lib corelibc.lib $(extralibs) $(ldexeflags) $($(basename $(notdir $@))_libs) /out:$@ $^ @$(SIGNIT) $@ $(out)/%.dll: $(obj)/%.obj @"$(celd)" $(libpaths) $(ldflags) coredll.lib corelibc.lib $(extralibs) $(lddllflags) $($(basename $(notdir $@))_libs) /out:$@ $^ @$(SIGNIT) $@ vpath .cpp . ../common/ ../dll/ ../dllloader/ $(obj)/%.obj: ../common/%.cpp @"$(cecc)" $(cdefs) $(pmdef500) $(pb500incs) $(cflags) $^ $(obj)/%.obj: ../dll/%.cpp @"$(cecc)" $(cdefs) $(pmdef500) $(pb500incs) $(cflags) $^ $(obj)/%.obj: ../dllloader/%.cpp @"$(cecc)" $(cdefs) $(pmdef500) $(pb500incs) $(cflags) $^ $(obj)/pregutl.obj: $(obj)/%.obj: ../src/%.cpp @"$(cecc)" $(cdefs) $(pmdef500) $(pb500incs) $(cflags) $^ $(obj)/%.obj: %.cpp @"$(cecc)" $(cflags_$(basename $(notdir $@))) $(cdefs) $(pmdef500) $(pb500incs) $(cflags) $^ clean: rm -f $(CLEANLIST) ledtest: $(out)/ledtest.exe pput -f $(out)/ledtest.exe "%CSIDL_WINDOWS%" prun ledtest.exe get: pget -f \ledtest.log $(out) cat $(out)/ledtest.log htest: $(out)/chaininfo.exe pdel \storage\chaininfo.log pput -f $(out)/chaininfo.exe \\ prun \chaininfo.exe cabwizwm:=$(wm6sdk)/Tools/CabWiz/cabwiz.exe romtools:=../../romtools BattLogger.arm.CAB: BattLogger.inf $(out)/BattLogger.exe %.arm.CAB: %.inf @"$(cabwizwm)" $< /err $(obj)/$(basename $(notdir $@)).uerr /nouninstall /cpu arm @perl $(romtools)/tounicode.pl -d $(obj)/$(basename $(notdir $@)).uerr $(obj)/$(basename $(notdir $@)).err -@if grep -v "Warning: Section .DestinationDirs. key .[a-zA-Z]*. is not using the string ..InstallDir..\\|value .[A-Z][a-z]*. has an empty string\\|Section .DefaultInstall. key .AddReg. - there are no section entries to process" $(obj)/$(basename $(notdir $@)).err; then false; else echo created $@; fi -@$(SIGNIT) $@ @$(SIGNIT) $@ btest: $(out)/BattLogger.exe pdel \storage\Battery.log pput -f $(out)/BattLogger.exe \\ prun \BattLogger.exe bget: pget -f \Battery.log $(out) cat $(out)/Battery.log ptest: $(out)/testpi.exe pput -f $(out)/testpi.exe \windows pdel \testpi.log prun testpi.exe pget: pget -f \testpi.log $(out) cat $(out)/testpi.log dtest: $(out)/tstdsk.exe pput -f $(out)/tstdsk.exe \windows pdel \tstdsk.log prun tstdsk.exe dget: pget -f \tstdsk.log $(out) cat $(out)/tstdsk.log ftest: $(out)/tsttffs.exe pput -f $(out)/tsttffs.exe \windows pdel \tsttffs.log prun tsttffs.exe fget: pget -f \tsttffs.log $(out) cat $(out)/tsttffs.log setdevtest: $(out)/setdevdata.exe pput -f $(out)/setdevdata.exe \windows -pdel \setdevdata.log -rm $(out)/setdevdata.log prun setdevdata.exe sleep 2 prun setdevdata.exe -o TMOBILE -l ENG sleep 2 pget -f \setdevdata.log $(out) cat $(out)/setdevdata.log atest: $(out)/audiodev.exe pdel \storage\audiodev.log \audiodev.log pput -f $(out)/audiodev.exe \\ pdebug -x \audiodev.exe wtest: $(out)/tstwnd.exe pdel \storage\tstwnd.log pput -f $(out)/tstwnd.exe \\ prun \tstwnd.exe ctest: $(out)/logcells.exe pdel \storage\logcells.log pput -f $(out)/logcells.exe \\ prun \logcells.exe stest: $(out)/tststrata.exe pdel \tststrata.log pput -f $(out)/tststrata.exe \\ prun \tststrata.exe strtest: $(out)/wtststr.exe $(out)/gtststr.exe $(out)/tststr.exe echo running msc tststr $(out)/wtststr.exe echo running gcc tststr $(out)/gtststr.exe echo running evc tststr pput -f $(out)/tststr.exe \\ pdel \tststr.log prun \tststr.exe sleep 1 pget -c \tststr.log otest: $(out)/phonevolume.exe pdel \storage\phonevolume.log pput -f $(out)/phonevolume.exe \\ vtest: $(out)/getspi.exe pdel \getspi.log \storge\getspi.log pput -f $(out)/getspi.exe \\ prun \getspi.exe sleep 5 -pget -c \storage\getspi.log -pget -c \getspi.log itest: $(out)/tstitsutils.exe pdel \storage\tstits.log pput -f $(out)/tstitsutils.exe \\ pput -f $(out)/itsutils.dll \\ prun \\tstitsutils.exe \\itsutils.dll sleep 2 pget -c \storage\tstits.log sdtest: $(out)/tstsdid.exe pdel \tstsdid.log pput -f $(out)/tstsdid.exe \\ prun \tstsdid.exe sleep 2 pget -c \tstsdid.log kdtest: $(out)/tstdll.dll $(out)/loaddll.exe pput -v -f $(out)/tstdll.dll $(out)/loaddll.exe \\ touch tstdll.cpp pdel \\loaddll.log prun loaddll tstdll.dll pget -c \\loaddll.log edbtest: $(out)/tstedb.exe pdel \storage\tstedb.log pput -f $(out)/tstedb.exe "%CSIDL_WINDOWS%" prun \tstedb.exe \pim.vol nn=$(subst .cpp,,$(n)) test: $(out)/$(nn).exe -pkill $(nn) pdel \$(nn).log pput -f $(out)/$(nn).exe "%CSIDL_WINDOWS%" prun $(nn) # $(out)/$(nn).exe autostart: -pput -f $(out)/$(nn).exe "%CSIDL_WINDOWS%" printf "#$(nn)" | pput -c -f %CSIDL_STARTUP%\\$(nn).lnk # rdo1 -> logdev [order=3] # target=rdo2 # rdo2 -> radio [order=2] # .. every device with order>=3 needs to have it's order incremented installdev: ../build/logdev.dll pput -f ../build/logdev.dll "%CSIDL_WINDOWS%" pregutl -c HKLM\\Drivers\\BuiltIn\\Thunkdev pregutl -s HKLM\\Drivers\\BuiltIn\\Thunkdev :Dll=sz:radio.dll :Index=dword:00000002 :Order=dword:00000002 :Prefix=sz:RDO :Priority256=dword:00000093 # 8 = naked driver pregutl -s HKLM\\Drivers\\BuiltIn\\QRADIO :Dll=sz:logdev.dll :target=sz:RDO2: :verbose=dword:14 :Flags=dword:8 pregutl -s HKLM\\drivers\\builtin\\QRADIO :Order=dword:00000003 pregutl -s HKLM\\drivers\\builtin\\NDISUIO :Order=dword:00000004 pregutl -s HKLM\\drivers\\builtin\\PPP :Order=dword:00000004 pregutl -s HKLM\\drivers\\builtin\\QCMD :Order=dword:00000004 pregutl -s HKLM\\drivers\\builtin\\Xpanel :Order=dword:00000004 pregutl -s HKLM\\drivers\\builtin\\RIL :Order=dword:00000005 pregutl -s HKLM\\drivers\\builtin\\SIM :Order=dword:00000005 pregutl -s HKLM\\drivers\\builtin\\Serial :Order=dword:00000005 pregutl -s HKLM\\drivers\\builtin\\ZeroConfig :Order=dword:00000005 pregutl -s HKLM\\drivers\\builtin\\ipv6hlp :Order=dword:00000005 pregutl -s HKLM\\drivers\\builtin\\SMS :Order=dword:00000006 pregutl -s HKLM\\drivers\\builtin\\Ethman :Order=dword:00000006 pregutl -s HKLM\\drivers\\builtin\\QDATA :Order=dword:00000006 pdel \\logdev.log \\log-*.log stopdev: pregutl -s HKLM\\Drivers\\BuiltIn\\QRADIO :Dll=sz:radio.dll :Order=dword:00000002 pregutl -d HKLM\\Drivers\\BuiltIn\\QRADIO :flags :target :verbose pregutl -d HKLM\\Drivers\\BuiltIn\\Thunkdev # for 220 pregutl -s HKLM\\Drivers\\BuiltIn\\Serial_Data :Dll=sz:Serial_Data.dll pregutl -d HKLM\\Drivers\\BuiltIn\\Serial_Data :flags :verbose :target #pregutl -s HKLM\\Drivers\\BuiltIn\\Serial_Cmd :Dll=sz:Serial_Cmd.dll #pregutl -d HKLM\\Drivers\\BuiltIn\\Serial_Cmd :flags :verbose :target #pregutl -d HKLM\\Drivers\\BuiltIn\\ThunkCmd preboot installdev2: ../build/logdev.dll wm5unlock.bat pput -f ../build/logdev.dll "%CSIDL_WINDOWS%" pregutl -c HKLM\\Drivers\\BuiltIn\\Thunkdev # flags=4 : don't load by device.exe pregutl -s HKLM\\Drivers\\BuiltIn\\Thunkdev :Dll=sz:radio.dll :Index=dword:00000002 :Order=dword:00000002 :Prefix=sz:RDO :Priority256=dword:00000093 :Flags=dword:00000004 # 8 = naked driver pregutl -s HKLM\\Drivers\\BuiltIn\\QRADIO :Dll=sz:logdev.dll :target=sz:Drivers\\\\BuiltIn\\\\Thunkdev :verbose=dword:14 :flags=dword:8 pdel \\logdev.log \\log-*.log ignore: pregutl -s HKLM\\drivers\\builtin\\NDISUIO :Order=dword:00000003 pregutl -s HKLM\\drivers\\builtin\\PPP :Order=dword:00000003 pregutl -s HKLM\\drivers\\builtin\\QCMD :Order=dword:00000003 pregutl -s HKLM\\drivers\\builtin\\Xpanel :Order=dword:00000003 pregutl -s HKLM\\drivers\\builtin\\RIL :Order=dword:00000004 pregutl -s HKLM\\drivers\\builtin\\SIM :Order=dword:00000004 pregutl -s HKLM\\drivers\\builtin\\Serial :Order=dword:00000004 pregutl -s HKLM\\drivers\\builtin\\ZeroConfig :Order=dword:00000004 pregutl -s HKLM\\drivers\\builtin\\ipv6hlp :Order=dword:00000004 pregutl -s HKLM\\drivers\\builtin\\SMS :Order=dword:00000005 pregutl -s HKLM\\drivers\\builtin\\Ethman :Order=dword:00000005 pregutl -s HKLM\\drivers\\builtin\\QDATA :Order=dword:00000005 # install on cp220 installdev3: ../build/logdev.dll pput -f ../build/logdev.dll "%CSIDL_WINDOWS%" # install data hook pregutl -c HKLM\\Drivers\\BuiltIn\\Thunkdev # flags=4 : don't load by device.exe pregutl -s HKLM\\Drivers\\BuiltIn\\Thunkdev :Dll=sz:Serial_data.Dll :Prefix=sz:COM :Index=dword:8 :Flags=dword:00000004 # 8 = naked driver pregutl -s HKLM\\Drivers\\BuiltIn\\Serial_Data :Dll=sz:logdev.dll :target=sz:Drivers\\\\BuiltIn\\\\Thunkdev :verbose=dword:14 :flags=dword:8 # install atcmd hook #pregutl -c HKLM\\Drivers\\BuiltIn\\ThunkCmd ## flags=4 : don't load by device.exe #pregutl -s HKLM\\Drivers\\BuiltIn\\ThunkCmd :Dll=sz:Serial_cmd.Dll :Prefix=sz:COM :Index=dword:8 :Flags=dword:00000004 ## 8 = naked driver #pregutl -s HKLM\\Drivers\\BuiltIn\\Serial_Cmd :Dll=sz:logdev.dll :target=sz:Drivers\\\\BuiltIn\\\\ThunkCmd :verbose=dword:14 :flags=dword:8 pdel \\logdev.log \\log-*.log installqdev: # install on qualcomm phone wm5unlock.bat pput -f ../build/logdev.dll "%CSIDL_WINDOWS%" pregutl -c HKLM\\Drivers\\BuiltIn\\Thunk0 pregutl -c HKLM\\Drivers\\BuiltIn\\Thunk1 pregutl -c HKLM\\Drivers\\BuiltIn\\Thunk2 pregutl -c HKLM\\Drivers\\BuiltIn\\Thunk3 pregutl -c HKLM\\Drivers\\BuiltIn\\Thunk7 pregutl -c HKLM\\Drivers\\BuiltIn\\Thunk9 # flags=4+8 : don't load by device.exe, and naked pregutl -s HKLM\\Drivers\\BuiltIn\\Thunk0 :DeviceArrayIndex=dword:1 :DeviceType=dword:0 :Dll=sz:smd_com.dll :Flags=dword:C :Order=dword:4 :Prefix=sz:SMD :Tsp=sz:Unimodem.dll :FriendlyName=sz:SMD0 :Index=dword:0 :SioPort=dword:0 pregutl -s HKLM\\Drivers\\BuiltIn\\Thunk1 :DeviceArrayIndex=dword:1 :DeviceType=dword:0 :Dll=sz:smd_com.dll :Flags=dword:C :Order=dword:4 :Prefix=sz:SMD :Tsp=sz:Unimodem.dll :FriendlyName=sz:SMD1 :Index=dword:1 :SioPort=dword:1 pregutl -s HKLM\\Drivers\\BuiltIn\\Thunk2 :DeviceArrayIndex=dword:1 :DeviceType=dword:0 :Dll=sz:smd_com.dll :Flags=dword:C :Order=dword:4 :Prefix=sz:SMD :Tsp=sz:Unimodem.dll :FriendlyName=sz:SMD2 :Index=dword:2 :SioPort=dword:2 pregutl -s HKLM\\Drivers\\BuiltIn\\Thunk3 :DeviceArrayIndex=dword:1 :DeviceType=dword:0 :Dll=sz:smd_com.dll :Flags=dword:C :Order=dword:4 :Prefix=sz:SMD :Tsp=sz:Unimodem.dll :FriendlyName=sz:SMD3 :Index=dword:3 :SioPort=dword:3 pregutl -s HKLM\\Drivers\\BuiltIn\\Thunk7 :DeviceArrayIndex=dword:1 :DeviceType=dword:0 :Dll=sz:smd_com.dll :Flags=dword:C :Order=dword:4 :Prefix=sz:SMD :Tsp=sz:Unimodem.dll :FriendlyName=sz:SMD7 :Index=dword:7 :SioPort=dword:7 pregutl -s HKLM\\Drivers\\BuiltIn\\Thunk9 :DeviceArrayIndex=dword:1 :DeviceType=dword:0 :Dll=sz:smd_com.dll :Flags=dword:C :Order=dword:4 :Prefix=sz:SMD :Tsp=sz:Unimodem.dll :FriendlyName=sz:SMD9 :Index=dword:9 :SioPort=dword:9 # 8 = naked driver pregutl -s HKLM\\Drivers\\BuiltIn\\SMD0 :Dll=sz:logdev.dll :target=sz:Drivers\\\\BuiltIn\\\\Thunk0 :verbose=dword:37 :flags=dword:8 pregutl -s HKLM\\Drivers\\BuiltIn\\SMD1 :Dll=sz:logdev.dll :target=sz:Drivers\\\\BuiltIn\\\\Thunk1 :verbose=dword:37 :flags=dword:8 pregutl -s HKLM\\Drivers\\BuiltIn\\SMD2 :Dll=sz:logdev.dll :target=sz:Drivers\\\\BuiltIn\\\\Thunk2 :verbose=dword:37 :flags=dword:8 pregutl -s HKLM\\Drivers\\BuiltIn\\SMD3 :Dll=sz:logdev.dll :target=sz:Drivers\\\\BuiltIn\\\\Thunk3 :verbose=dword:37 :flags=dword:8 pregutl -s HKLM\\Drivers\\BuiltIn\\SMD7 :Dll=sz:logdev.dll :target=sz:Drivers\\\\BuiltIn\\\\Thunk7 :verbose=dword:37 :flags=dword:8 pregutl -s HKLM\\Drivers\\BuiltIn\\SMD9 :Dll=sz:logdev.dll :target=sz:Drivers\\\\BuiltIn\\\\Thunk9 :verbose=dword:37 :flags=dword:8 installqdev0: # install on qualcomm phone wm5unlock.bat pput -f ../build/logdev2.dll "%CSIDL_WINDOWS%" pregutl -c HKLM\\Drivers\\BuiltIn\\Thunk0 # flags=4+8 : don't load by device.exe, and naked pregutl -s HKLM\\Drivers\\BuiltIn\\Thunk0 :DeviceArrayIndex=dword:1 :DeviceType=dword:0 :Dll=sz:smd_com.dll :Flags=dword:C :Order=dword:4 :Prefix=sz:SMD :Tsp=sz:Unimodem.dll :FriendlyName=sz:SMD0 :Index=dword:0 :SioPort=dword:0 # 8 = naked driver pregutl -s HKLM\\Drivers\\BuiltIn\\SMD0 :Dll=sz:logdev2.dll :target=sz:Drivers\\\\BuiltIn\\\\Thunk0 :verbose=dword:37 :flags=dword:8 installqdev1: # install on qualcomm phone wm5unlock.bat pput -f ../build/logdev.dll "%CSIDL_WINDOWS%" pregutl -c HKLM\\Drivers\\BuiltIn\\Thunk1 # flags=4+8 : don't load by device.exe, and naked pregutl -s HKLM\\Drivers\\BuiltIn\\Thunk1 :DeviceArrayIndex=dword:1 :DeviceType=dword:0 :Dll=sz:smd_com.dll :Flags=dword:C :Order=dword:4 :Prefix=sz:SMD :Tsp=sz:Unimodem.dll :FriendlyName=sz:SMD1 :Index=dword:1 :SioPort=dword:1 # 8 = naked driver pregutl -s HKLM\\Drivers\\BuiltIn\\SMD1 :Dll=sz:logdev.dll :target=sz:Drivers\\\\BuiltIn\\\\Thunk1 :verbose=dword:37 :flags=dword:8 uninstallqdev: # install on qualcomm phone pregutl -d HKLM\\Drivers\\BuiltIn\\Thunk0 pregutl -d HKLM\\Drivers\\BuiltIn\\Thunk1 pregutl -d HKLM\\Drivers\\BuiltIn\\Thunk2 pregutl -d HKLM\\Drivers\\BuiltIn\\Thunk3 pregutl -d HKLM\\Drivers\\BuiltIn\\Thunk7 pregutl -d HKLM\\Drivers\\BuiltIn\\Thunk9 # 8 = naked driver pregutl -s HKLM\\Drivers\\BuiltIn\\SMD0 :Dll=sz:smd_com.dll pregutl -s HKLM\\Drivers\\BuiltIn\\SMD1 :Dll=sz:smd_com.dll pregutl -s HKLM\\Drivers\\BuiltIn\\SMD2 :Dll=sz:smd_com.dll pregutl -s HKLM\\Drivers\\BuiltIn\\SMD3 :Dll=sz:smd_com.dll pregutl -s HKLM\\Drivers\\BuiltIn\\SMD7 :Dll=sz:smd_com.dll pregutl -s HKLM\\Drivers\\BuiltIn\\SMD9 :Dll=sz:smd_com.dll unloadqdev: ../build/unloaddev.exe pput -f ..\\build\\unloaddev.exe \\windows prun unloaddev SMD0: prun unloaddev SMD1: prun unloaddev SMD2: prun unloaddev SMD3: prun unloaddev SMD7: prun unloaddev SMD9: unloaddev: ../build/unloaddev.exe pput -f ..\\build\\unloaddev.exe \\windows # stop on startrek prun unloaddev RDO1: # stop on cp220 prun unloaddev COM9: prun unloaddev COM2: flushdev: ../build/flushdev.exe pput -f ..\\build\\flushdev.exe \\windows # stop on startrek prun flushdev RDO1: # stop on cp220 prun flushdev COM9: tstarg: ../build/tstarg.exe pput -f ../build/tstarg.exe "%CSIDL_WINDOWS%" pmkdir "%CSIDL_PROGRAM_FILES%/tst arg" pput -f ../build/tstarg.exe "%CSIDL_PROGRAM_FILES%/tst arg" printf "#\"tstarg\"-1234 -5678" | pput -f -c "%CSIDL_PROGRAMS%/tstarg_q_ns.lnk" printf "#\"tstarg\" -1234 -5678" | pput -f -c "%CSIDL_PROGRAMS%/tstarg_q_s.lnk" printf "#tstarg-1234 -5678" | pput -f -c "%CSIDL_PROGRAMS%/tstarg_nq_ns.lnk" printf "#tstarg -1234 -5678" | pput -f -c "%CSIDL_PROGRAMS%/tstarg_nq_s.lnk" printf "#\"tstarg.exe\"-1234 -5678" | pput -f -c "%CSIDL_PROGRAMS%/tstargx_q_ns.lnk" printf "#\"tstarg.exe\" -1234 -5678" | pput -f -c "%CSIDL_PROGRAMS%/tstargx_q_s.lnk" printf "#tstarg.exe-1234 -5678" | pput -f -c "%CSIDL_PROGRAMS%/tstargx_nq_ns.lnk" printf "#tstarg.exe -1234 -5678" | pput -f -c "%CSIDL_PROGRAMS%/tstargx_nq_s.lnk" printf "#\"\\program files\\\tst arg\\\tstarg\"-1234 -5678" | pput -f -c "%CSIDL_PROGRAMS%/pftstarg_q_ns.lnk" printf "#\"\\program files\\\tst arg\\\tstarg\" -1234 -5678" | pput -f -c "%CSIDL_PROGRAMS%/pftstarg_q_s.lnk" printf "#\\program files\\\tst arg\\\tstarg-1234 -5678" | pput -f -c "%CSIDL_PROGRAMS%/pftstarg_nq_ns.lnk" printf "#\\program files\\\tst arg\\\tstarg -1234 -5678" | pput -f -c "%CSIDL_PROGRAMS%/pftstarg_nq_s.lnk" printf "#\"\\program files\\\tst arg\\\tstarg.exe\"-1234 -5678" | pput -f -c "%CSIDL_PROGRAMS%/pftstargx_q_ns.lnk" printf "#\"\\program files\\\tst arg\\\tstarg.exe\" -1234 -5678" | pput -f -c "%CSIDL_PROGRAMS%/pftstargx_q_s.lnk" printf "#\\program files\\\tst arg\\\tstarg.exe-1234 -5678" | pput -f -c "%CSIDL_PROGRAMS%/pftstargx_nq_ns.lnk" printf "#\\program files\\\tst arg\\\tstarg.exe -1234 -5678" | pput -f -c "%CSIDL_PROGRAMS%/pftstargx_nq_s.lnk" # wm65: .exe -> displays as 'exe icon', otherwise displays as 'ms icon' # "pgmname"-firstarg -> firstarg is not passed to proram