# Microsoft eMbedded Visual Tools Project File - Name="testwin" - Package Owner=<4>
# Microsoft eMbedded Visual Tools Generated Build File, Format Version 6.02
# ** DO NOT EDIT **

# TARGTYPE "Win32 (WCE x86) Application" 0x8301
# TARGTYPE "Win32 (WCE ARM) Application" 0x8501
# TARGTYPE "Win32 (WCE ARMV4) Application" 0xa301
# TARGTYPE "Win32 (WCE SH3) Application" 0x8101
# TARGTYPE "Win32 (WCE MIPS) Application" 0x8201
# TARGTYPE "Win32 (WCE emulator) Application" 0xa601

CFG=testwin - Win32 (WCE emulator) Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE 
!MESSAGE NMAKE /f "testwin.vcn".
!MESSAGE 
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE 
!MESSAGE NMAKE /f "testwin.vcn" CFG="testwin - Win32 (WCE emulator) Debug"
!MESSAGE 
!MESSAGE Possible choices for configuration are:
!MESSAGE 
!MESSAGE "testwin - Win32 (WCE emulator) Release" (based on "Win32 (WCE emulator) Application")
!MESSAGE "testwin - Win32 (WCE emulator) Debug" (based on "Win32 (WCE emulator) Application")
!MESSAGE "testwin - Win32 (WCE ARMV4) Release" (based on "Win32 (WCE ARMV4) Application")
!MESSAGE "testwin - Win32 (WCE ARMV4) Debug" (based on "Win32 (WCE ARMV4) Application")
!MESSAGE "testwin - Win32 (WCE ARM) Debug" (based on "Win32 (WCE ARM) Application")
!MESSAGE "testwin - Win32 (WCE ARM) Release" (based on "Win32 (WCE ARM) Application")
!MESSAGE "testwin - Win32 (WCE SH3) Debug" (based on "Win32 (WCE SH3) Application")
!MESSAGE "testwin - Win32 (WCE MIPS) Debug" (based on "Win32 (WCE MIPS) Application")
!MESSAGE "testwin - Win32 (WCE x86) Release" (based on "Win32 (WCE x86) Application")
!MESSAGE "testwin - Win32 (WCE x86) Debug" (based on "Win32 (WCE x86) Application")
!MESSAGE 

# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
# PROP ATL_Project 2

!IF  "$(CFG)" == "testwin - Win32 (WCE emulator) Release"

# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "emulatorRel"
# PROP BASE Intermediate_Dir "emulatorRel"
# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}"
# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "emulatorRel"
# PROP Intermediate_Dir "emulatorRel"
# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}"
# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
# PROP Target_Dir ""
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r
# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r
CPP=cl.exe
# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /YX /Gs8192 /GF /O2 /c
# ADD CPP /nologo /W3 /I "..\..\include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /YX /Gs8192 /GF /O2 /c
MTL=midl.exe
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86
# ADD LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86

!ELSEIF  "$(CFG)" == "testwin - Win32 (WCE emulator) Debug"

# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "emulatorDbg"
# PROP BASE Intermediate_Dir "emulatorDbg"
# PROP BASE CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}"
# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "emulatorDbg"
# PROP Intermediate_Dir "emulatorDbg"
# PROP CPU_ID "{32E52003-403E-442D-BE48-DE10F8C6131D}"
# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
# PROP Target_Dir ""
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d "$(CePlatform)" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "_X86_" /d "x86" /d "_i386_" /r
# ADD RSC /l 0x409 /d "$(CePlatform)" /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "_X86_" /d "x86" /d "_i386_" /r
CPP=cl.exe
# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /YX /Gs8192 /GF /c
# ADD CPP /nologo /W3 /Zi /Od /I "..\..\include" /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /YX /Gs8192 /GF /c
MTL=midl.exe
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86
# ADD LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86

!ELSEIF  "$(CFG)" == "testwin - Win32 (WCE ARMV4) Release"

# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "ARMV4Rel"
# PROP BASE Intermediate_Dir "ARMV4Rel"
# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}"
# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "ARMV4Rel"
# PROP Intermediate_Dir "ARMV4Rel"
# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}"
# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
# PROP Target_Dir ""
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "NDEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /r
# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "NDEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /r
CPP=clarm.exe
# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /O2 /M$(CECrtMT) /c
# ADD CPP /nologo /W3 /I "..\..\include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /O2 /M$(CECrtMT) /c
MTL=midl.exe
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 commctrl.lib coredll.lib aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
# ADD LINK32 commctrl.lib coredll.lib aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM

!ELSEIF  "$(CFG)" == "testwin - Win32 (WCE ARMV4) Debug"

# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "ARMV4Dbg"
# PROP BASE Intermediate_Dir "ARMV4Dbg"
# PROP BASE CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}"
# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "ARMV4Dbg"
# PROP Intermediate_Dir "ARMV4Dbg"
# PROP CPU_ID "{ECBEA43D-CD7B-4852-AD55-D4227B5D624B}"
# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
# PROP Target_Dir ""
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "DEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /r
# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "DEBUG" /d "UNICODE" /d "_UNICODE" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /d "ARMV4" /r
CPP=clarm.exe
# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /M$(CECrtMTDebug) /c
# ADD CPP /nologo /W3 /Zi /Od /I "..\..\include" /D "DEBUG" /D "ARM" /D "_ARM_" /D "ARMV4" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /M$(CECrtMTDebug) /c
MTL=midl.exe
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 commctrl.lib coredll.lib aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
# ADD LINK32 commctrl.lib coredll.lib aygshell.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM

!ELSEIF  "$(CFG)" == "testwin - Win32 (WCE ARM) Debug"

# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "ARMDbg"
# PROP BASE Intermediate_Dir "ARMDbg"
# PROP BASE CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "ARMDbg"
# PROP Intermediate_Dir "ARMDbg"
# PROP CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
# PROP Target_Dir ""
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /r
# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /r
CPP=clarm.exe
# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /M$(CECrtMTDebug) /c
# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /D "DEBUG" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /M$(CECrtMTDebug) /c
MTL=midl.exe
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
# ADD LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM

!ELSEIF  "$(CFG)" == "testwin - Win32 (WCE ARM) Release"

# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "ARMRel"
# PROP BASE Intermediate_Dir "ARMRel"
# PROP BASE CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "ARMRel"
# PROP Intermediate_Dir "ARMRel"
# PROP CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
# PROP Target_Dir ""
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /r
# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "ARM" /d "_ARM_" /r
CPP=clarm.exe
# ADD BASE CPP /nologo /W3 /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /Oxs /M$(CECrtMT) /c
# ADD CPP /nologo /W3 /I "../../include" /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "ARM" /D "_ARM_" /D UNDER_CE=$(CEVersion) /D "UNICODE" /D "_UNICODE" /D "NDEBUG" /YX /Oxs /M$(CECrtMT) /c
MTL=midl.exe
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
# ADD LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM

!ELSEIF  "$(CFG)" == "testwin - Win32 (WCE SH3) Debug"

# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "SH3Dbg"
# PROP BASE Intermediate_Dir "SH3Dbg"
# PROP BASE CPU_ID "{D6519020-710F-11D3-99F2-00105A0DF099}"
# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "SH3Dbg"
# PROP Intermediate_Dir "SH3Dbg"
# PROP CPU_ID "{D6519020-710F-11D3-99F2-00105A0DF099}"
# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
# PROP Target_Dir ""
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "SHx" /d "SH3" /d "_SH3_" /r
# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "SHx" /d "SH3" /d "_SH3_" /r
CPP=shcl.exe
# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /M$(CECrtMTDebug) /c
# ADD CPP /nologo /W3 /Zi /Od /I "../../include" /D "DEBUG" /D "SHx" /D "SH3" /D "_SH3_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /M$(CECrtMTDebug) /c
MTL=midl.exe
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH3
# ADD LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:SH3

!ELSEIF  "$(CFG)" == "testwin - Win32 (WCE MIPS) Debug"

# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "MIPSDbg"
# PROP BASE Intermediate_Dir "MIPSDbg"
# PROP BASE CPU_ID "{D6519010-710F-11D3-99F2-00105A0DF099}"
# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "MIPSDbg"
# PROP Intermediate_Dir "MIPSDbg"
# PROP CPU_ID "{D6519010-710F-11D3-99F2-00105A0DF099}"
# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
# PROP Target_Dir ""
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r
# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "MIPS" /d "_MIPS_" /r
CPP=clmips.exe
# ADD BASE CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "MIPS" /D "_MIPS_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /M$(CECrtMTDebug) /c
# ADD CPP /nologo /W3 /Zi /Od /D "DEBUG" /D "MIPS" /D "_MIPS_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "UNICODE" /D "_UNICODE" /YX /M$(CECrtMTDebug) /c
MTL=midl.exe
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS
# ADD LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"$(CENoDefaultLib)" /subsystem:$(CESubsystem) /MACHINE:MIPS

!ELSEIF  "$(CFG)" == "testwin - Win32 (WCE x86) Release"

# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "X86Rel"
# PROP BASE Intermediate_Dir "X86Rel"
# PROP BASE CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"
# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "X86Rel"
# PROP Intermediate_Dir "X86Rel"
# PROP CPU_ID "{D6518FF3-710F-11D3-99F2-00105A0DF099}"
# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
# PROP Target_Dir ""
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r
# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "NDEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r
CPP=cl.exe
# ADD BASE CPP /nologo /W3 /GX- /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /YX /Gs8192 /GF /Oxs /c
# ADD CPP /nologo /W3 /GX- /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "_i386_" /D UNDER_CE=$(CEVersion) /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /D "NDEBUG" /YX /Gs8192 /GF /Oxs /c
MTL=midl.exe
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o "NUL" /win32
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86
# ADD LINK32 commctrl.lib coredll.lib $(CEx86Corelibc) /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /MACHINE:IX86

!ELSEIF  "$(CFG)" == "testwin - Win32 (WCE x86) Debug"

# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "X86Dbg"
# PROP BASE Intermediate_Dir "X86Dbg"
# PROP BASE CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
# PROP BASE Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "X86Dbg"
# PROP Intermediate_Dir "X86Dbg"
# PROP CPU_ID "{D6518FFC-710F-11D3-99F2-00105A0DF099}"
# PROP Platform_ID "{8A9A2F80-6887-11D3-842E-005004848CBA}"
# PROP Target_Dir ""
RSC=rc.exe
# ADD BASE RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r
# ADD RSC /l 0x409 /d UNDER_CE=$(CEVersion) /d _WIN32_WCE=$(CEVersion) /d "UNICODE" /d "_UNICODE" /d "DEBUG" /d "$(CePlatform)" /d "_X86_" /d "x86" /d "_i386_" /r
CPP=cl.exe
# ADD BASE CPP /nologo /W3 /GX- /Zi /Od /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /YX /Gs8192 /M$(CECrtMTDebug) /c
# ADD CPP /nologo /W3 /GX- /Zi /Od /D "DEBUG" /D "_i386_" /D UNDER_CE=$(CEVersion) /D _WIN32_WCE=$(CEVersion) /D "$(CePlatform)" /D "i_386_" /D "UNICODE" /D "_UNICODE" /D "_X86_" /D "x86" /YX /Gs8192 /M$(CECrtMTDebug) /c
MTL=midl.exe
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o "NUL" /win32
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
# SUBTRACT BASE LINK32 /incremental:no
# ADD LINK32 commctrl.lib coredll.lib /nologo /base:"0x00010000" /stack:0x10000,0x1000 /entry:"WinMainCRTStartup" /debug /nodefaultlib:"OLDNAMES.lib" /nodefaultlib:$(CENoDefaultLib) /subsystem:$(CESubsystem) /align:"4096" /MACHINE:ARM
# SUBTRACT LINK32 /incremental:no

!ENDIF 

# Begin Target

# Name "testwin - Win32 (WCE emulator) Release"
# Name "testwin - Win32 (WCE emulator) Debug"
# Name "testwin - Win32 (WCE ARMV4) Release"
# Name "testwin - Win32 (WCE ARMV4) Debug"
# Name "testwin - Win32 (WCE ARM) Debug"
# Name "testwin - Win32 (WCE ARM) Release"
# Name "testwin - Win32 (WCE SH3) Debug"
# Name "testwin - Win32 (WCE MIPS) Debug"
# Name "testwin - Win32 (WCE x86) Release"
# Name "testwin - Win32 (WCE x86) Debug"
# Begin Group "Source Files"

# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File

SOURCE=..\..\test\testwin.c

!IF  "$(CFG)" == "testwin - Win32 (WCE emulator) Release"

DEP_CPP_TESTW=\
	"..\..\include\begin_code.h"\
	"..\..\include\close_code.h"\
	"..\..\include\SDL.h"\
	"..\..\include\SDL_active.h"\
	"..\..\include\SDL_audio.h"\
	"..\..\include\SDL_cdrom.h"\
	"..\..\include\SDL_config.h"\
	"..\..\include\SDL_config_amiga.h"\
	"..\..\include\SDL_config_macos.h"\
	"..\..\include\SDL_config_macosx.h"\
	"..\..\include\SDL_config_win32.h"\
	"..\..\include\SDL_cpuinfo.h"\
	"..\..\include\SDL_endian.h"\
	"..\..\include\SDL_error.h"\
	"..\..\include\SDL_events.h"\
	"..\..\include\SDL_joystick.h"\
	"..\..\include\SDL_keyboard.h"\
	"..\..\include\SDL_keysym.h"\
	"..\..\include\SDL_loadso.h"\
	"..\..\include\SDL_main.h"\
	"..\..\include\SDL_mouse.h"\
	"..\..\include\SDL_mutex.h"\
	"..\..\include\SDL_platform.h"\
	"..\..\include\SDL_quit.h"\
	"..\..\include\SDL_rwops.h"\
	"..\..\include\SDL_stdinc.h"\
	"..\..\include\SDL_thread.h"\
	"..\..\include\SDL_timer.h"\
	"..\..\include\SDL_version.h"\
	"..\..\include\SDL_video.h"\
	

!ELSEIF  "$(CFG)" == "testwin - Win32 (WCE emulator) Debug"

DEP_CPP_TESTW=\
	"..\..\include\begin_code.h"\
	"..\..\include\close_code.h"\
	"..\..\include\SDL.h"\
	"..\..\include\SDL_active.h"\
	"..\..\include\SDL_audio.h"\
	"..\..\include\SDL_cdrom.h"\
	"..\..\include\SDL_config.h"\
	"..\..\include\SDL_config_amiga.h"\
	"..\..\include\SDL_config_macos.h"\
	"..\..\include\SDL_config_macosx.h"\
	"..\..\include\SDL_config_win32.h"\
	"..\..\include\SDL_cpuinfo.h"\
	"..\..\include\SDL_endian.h"\
	"..\..\include\SDL_error.h"\
	"..\..\include\SDL_events.h"\
	"..\..\include\SDL_joystick.h"\
	"..\..\include\SDL_keyboard.h"\
	"..\..\include\SDL_keysym.h"\
	"..\..\include\SDL_loadso.h"\
	"..\..\include\SDL_main.h"\
	"..\..\include\SDL_mouse.h"\
	"..\..\include\SDL_mutex.h"\
	"..\..\include\SDL_platform.h"\
	"..\..\include\SDL_quit.h"\
	"..\..\include\SDL_rwops.h"\
	"..\..\include\SDL_stdinc.h"\
	"..\..\include\SDL_thread.h"\
	"..\..\include\SDL_timer.h"\
	"..\..\include\SDL_version.h"\
	"..\..\include\SDL_video.h"\
	

!ELSEIF  "$(CFG)" == "testwin - Win32 (WCE ARMV4) Release"

DEP_CPP_TESTW=\
	"..\..\include\begin_code.h"\
	"..\..\include\close_code.h"\
	"..\..\include\SDL.h"\
	"..\..\include\SDL_active.h"\
	"..\..\include\SDL_audio.h"\
	"..\..\include\SDL_cdrom.h"\
	"..\..\include\SDL_config.h"\
	"..\..\include\SDL_config_amiga.h"\
	"..\..\include\SDL_config_macos.h"\
	"..\..\include\SDL_config_macosx.h"\
	"..\..\include\SDL_config_win32.h"\
	"..\..\include\SDL_cpuinfo.h"\
	"..\..\include\SDL_endian.h"\
	"..\..\include\SDL_error.h"\
	"..\..\include\SDL_events.h"\
	"..\..\include\SDL_joystick.h"\
	"..\..\include\SDL_keyboard.h"\
	"..\..\include\SDL_keysym.h"\
	"..\..\include\SDL_loadso.h"\
	"..\..\include\SDL_main.h"\
	"..\..\include\SDL_mouse.h"\
	"..\..\include\SDL_mutex.h"\
	"..\..\include\SDL_platform.h"\
	"..\..\include\SDL_quit.h"\
	"..\..\include\SDL_rwops.h"\
	"..\..\include\SDL_stdinc.h"\
	"..\..\include\SDL_thread.h"\
	"..\..\include\SDL_timer.h"\
	"..\..\include\SDL_version.h"\
	"..\..\include\SDL_video.h"\
	

!ELSEIF  "$(CFG)" == "testwin - Win32 (WCE ARMV4) Debug"

DEP_CPP_TESTW=\
	"..\..\include\begin_code.h"\
	"..\..\include\close_code.h"\
	"..\..\include\SDL.h"\
	"..\..\include\SDL_active.h"\
	"..\..\include\SDL_audio.h"\
	"..\..\include\SDL_cdrom.h"\
	"..\..\include\SDL_config.h"\
	"..\..\include\SDL_config_amiga.h"\
	"..\..\include\SDL_config_macos.h"\
	"..\..\include\SDL_config_macosx.h"\
	"..\..\include\SDL_config_win32.h"\
	"..\..\include\SDL_cpuinfo.h"\
	"..\..\include\SDL_endian.h"\
	"..\..\include\SDL_error.h"\
	"..\..\include\SDL_events.h"\
	"..\..\include\SDL_joystick.h"\
	"..\..\include\SDL_keyboard.h"\
	"..\..\include\SDL_keysym.h"\
	"..\..\include\SDL_loadso.h"\
	"..\..\include\SDL_main.h"\
	"..\..\include\SDL_mouse.h"\
	"..\..\include\SDL_mutex.h"\
	"..\..\include\SDL_platform.h"\
	"..\..\include\SDL_quit.h"\
	"..\..\include\SDL_rwops.h"\
	"..\..\include\SDL_stdinc.h"\
	"..\..\include\SDL_thread.h"\
	"..\..\include\SDL_timer.h"\
	"..\..\include\SDL_version.h"\
	"..\..\include\SDL_video.h"\
	

!ELSEIF  "$(CFG)" == "testwin - Win32 (WCE ARM) Debug"

DEP_CPP_TESTW=\
	"..\..\include\SDL.h"\
	
NODEP_CPP_TESTW=\
	"..\include\begin_code.h"\
	"..\include\close_code.h"\
	"..\include\SDL_active.h"\
	"..\include\SDL_audio.h"\
	"..\include\SDL_cdrom.h"\
	"..\include\SDL_config.h"\
	"..\include\SDL_config_amiga.h"\
	"..\include\SDL_config_macos.h"\
	"..\include\SDL_config_macosx.h"\
	"..\include\SDL_config_win32.h"\
	"..\include\SDL_config_wince.h"\
	"..\include\SDL_cpuinfo.h"\
	"..\include\SDL_endian.h"\
	"..\include\SDL_error.h"\
	"..\include\SDL_events.h"\
	"..\include\SDL_joystick.h"\
	"..\include\SDL_keyboard.h"\
	"..\include\SDL_keysym.h"\
	"..\include\SDL_loadso.h"\
	"..\include\SDL_main.h"\
	"..\include\SDL_mouse.h"\
	"..\include\SDL_mutex.h"\
	"..\include\SDL_platform.h"\
	"..\include\SDL_quit.h"\
	"..\include\SDL_rwops.h"\
	"..\include\SDL_stdinc.h"\
	"..\include\SDL_thread.h"\
	"..\include\SDL_timer.h"\
	"..\include\SDL_version.h"\
	"..\include\SDL_video.h"\
	

!ELSEIF  "$(CFG)" == "testwin - Win32 (WCE ARM) Release"

DEP_CPP_TESTW=\
	"..\..\include\SDL.h"\
	
NODEP_CPP_TESTW=\
	"..\include\begin_code.h"\
	"..\include\close_code.h"\
	"..\include\SDL_active.h"\
	"..\include\SDL_audio.h"\
	"..\include\SDL_cdrom.h"\
	"..\include\SDL_config.h"\
	"..\include\SDL_config_amiga.h"\
	"..\include\SDL_config_macos.h"\
	"..\include\SDL_config_macosx.h"\
	"..\include\SDL_config_win32.h"\
	"..\include\SDL_config_wince.h"\
	"..\include\SDL_cpuinfo.h"\
	"..\include\SDL_endian.h"\
	"..\include\SDL_error.h"\
	"..\include\SDL_events.h"\
	"..\include\SDL_joystick.h"\
	"..\include\SDL_keyboard.h"\
	"..\include\SDL_keysym.h"\
	"..\include\SDL_loadso.h"\
	"..\include\SDL_main.h"\
	"..\include\SDL_mouse.h"\
	"..\include\SDL_mutex.h"\
	"..\include\SDL_platform.h"\
	"..\include\SDL_quit.h"\
	"..\include\SDL_rwops.h"\
	"..\include\SDL_stdinc.h"\
	"..\include\SDL_thread.h"\
	"..\include\SDL_timer.h"\
	"..\include\SDL_version.h"\
	"..\include\SDL_video.h"\
	

!ELSEIF  "$(CFG)" == "testwin - Win32 (WCE SH3) Debug"

DEP_CPP_TESTW=\
	"..\..\include\begin_code.h"\
	"..\..\include\close_code.h"\
	"..\..\include\SDL.h"\
	"..\..\include\SDL_active.h"\
	"..\..\include\SDL_audio.h"\
	"..\..\include\SDL_byteorder.h"\
	"..\..\include\SDL_cdrom.h"\
	"..\..\include\SDL_error.h"\
	"..\..\include\SDL_events.h"\
	"..\..\include\SDL_getenv.h"\
	"..\..\include\SDL_joystick.h"\
	"..\..\include\SDL_keyboard.h"\
	"..\..\include\SDL_keysym.h"\
	"..\..\include\SDL_main.h"\
	"..\..\include\SDL_mouse.h"\
	"..\..\include\SDL_mutex.h"\
	"..\..\include\SDL_quit.h"\
	"..\..\include\SDL_rwops.h"\
	"..\..\include\SDL_timer.h"\
	"..\..\include\SDL_types.h"\
	"..\..\include\SDL_version.h"\
	"..\..\include\SDL_video.h"\
	

!ELSEIF  "$(CFG)" == "testwin - Win32 (WCE MIPS) Debug"

NODEP_CPP_TESTW=\
	"..\..\test\SDL.h"\
	

!ELSEIF  "$(CFG)" == "testwin - Win32 (WCE x86) Release"

NODEP_CPP_TESTW=\
	"..\..\test\SDL.h"\
	

!ELSEIF  "$(CFG)" == "testwin - Win32 (WCE x86) Debug"

NODEP_CPP_TESTW=\
	"..\..\test\SDL.h"\
	

!ENDIF 

# End Source File
# End Group
# Begin Group "Header Files"

# PROP Default_Filter "h;hpp;hxx;hm;inl"
# End Group
# Begin Group "Resource Files"

# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# End Group
# End Target
# End Project
