#
#


!include <$(PLATFORM_SDK)/include/win32.mak>

# define the compiler and linker for all the platforms
CC32="$(VC_2005)\Bin\cl.exe"
L32="$(VC_2005)\Bin\link.exe"
MT32="$(PLATFORM_SDK)\Bin\mt.exe"
RC32="$(VC_2005)\Bin\rc.exe"

BUILD_DIR32=.\build\32bit
OUTPUT_FILE32=.\dist\nlw.exe
MANIFEST_FILE32=.\resources\nlw.exe.manifest
#Alternative manifest file - read more in resources\res.rc
#MANIFEST_FILE32=.\resources\nlw-alt.exe.manifest

SOURCE_FILES=\
	.\src\ExtractUtils.c \
	.\src\FileUtils.c \
	.\src\JavaUtils.c \
	.\src\Launcher.c \
	.\src\Main.c \
	.\src\ProcessUtils.c \
	.\src\RegistryUtils.c \
	.\src\StringUtils.c \
	.\src\SystemUtils.c


CC32_OPTS=/O1 /Os \
	/I "$(VC_2005)\include" \
	/D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_CRT_SECURE_NO_DEPRECATE" \
	/FD /EHsc /MT \
	/Fo"$(BUILD_DIR32)\\"  /Fd"$(BUILD_DIR32)\vc80.pdb" \
	/W3 /nologo /c /Wp64 /TC /errorReport:prompt

LINKING_LIBRARIES=\
	user32.lib\
	gdi32.lib \
	comdlg32.lib \
	comctl32.lib \
	advapi32.lib\
	shell32.lib \
	ole32.lib \
	oleaut32.lib \
	userenv.lib \
	libcmt.lib \
	kernel32.lib

L32_OPTS=\
	/OUT:$(OUTPUT_FILE32) \
	/INCREMENTAL:NO \
	/LIBPATH:"$(PLATFORM_SDK)\Lib" \
	/MANIFEST \
	/MANIFESTFILE:"$(BUILD_DIR32)\nlw.exe.intermediate.manifest" \
	/NODEFAULTLIB \
	/SUBSYSTEM:WINDOWS \
	/OPT:REF /OPT:ICF \
	/MACHINE:X86 \
	/ERRORREPORT:PROMPT \
	$(LINKING_LIBRARIES)

	
RC32_OPTS=\
	/I ".\resources" /fo $(BUILD_DIR32)\resources.obj
	

all: init build-32

clean:
  

init:
  - md $(BUILD_DIR32)
  - md .\dist

  del /Q /S $(BUILD_DIR32)
  del /Q  $(OUTPUT_FILE32)  

build-32: 
  Set CPU=i386
  Set Lib=%VC_2005%\Lib;%PLATFORM_SDK%\Lib;%Lib%
  Set Include=%PLATFORM_SDK%\Include;%Include%
  Set Path=%PLATFORM_SDK%\Bin;%PLATFORM_SDK%\Bin\WinNT;%VC_2005_PATH%;%path%
  Set APPVER=5.01
  Set TARGETOS=WINNT
  
  $(CC32) $(CC32_OPTS) $(SOURCE_FILES)
  $(RC32) $(RC32_OPTS) resources/res.rc
  $(L32) $(L32_OPTS) $(BUILD_DIR32)\ExtractUtils.obj $(BUILD_DIR32)\FileUtils.obj $(BUILD_DIR32)\JavaUtils.obj $(BUILD_DIR32)\Launcher.obj $(BUILD_DIR32)\Main.obj $(BUILD_DIR32)\ProcessUtils.obj $(BUILD_DIR32)\RegistryUtils.obj $(BUILD_DIR32)\StringUtils.obj $(BUILD_DIR32)\SystemUtils.obj $(BUILD_DIR32)\resources.obj
  $(MT32)  /outputresource:"$(OUTPUT_FILE32);#1" -manifest $(MANIFEST_FILE32) $(BUILD_DIR32)\nlw.exe.intermediate.manifest
