--- truecrypt/boot/windows/makefile 2018/04/24 16:49:04 1.1 +++ truecrypt/boot/windows/makefile 2018/04/24 17:07:33 1.1.1.8 @@ -1,9 +1,9 @@ # -# Copyright (c) 2008 TrueCrypt Foundation. All rights reserved. +# Copyright (c) 2008-2009 TrueCrypt Developers Association. All rights reserved. # -# Governed by the TrueCrypt License 2.4 the full text of which is contained -# in the file License.txt included in TrueCrypt binary and source code -# distribution packages. +# Governed by the TrueCrypt License 2.8 the full text of which is contained in +# the file License.txt included in TrueCrypt binary and source code distribution +# packages. # PROJ = BootLoader @@ -15,44 +15,44 @@ PROJ = BootLoader ENVPATH = $(PATH) -CPP = $(MSVC16_ROOT)\bin\cl.exe +CC = $(MSVC16_ROOT)\bin\cl.exe LD = $(MSVC16_ROOT)\bin\link.exe -AFLAGS = /nologo /AT /omf +AFLAGS = /nologo /omf -CPPFLAGS = /nologo /W2 /Fc /I "$(MSVC16_ROOT)\Include" /I"..\..\.." /I"..\..\..\Common" /I"..\..\..\Crypto" -CPPFLAGS = $(CPPFLAGS) /D __int8=char /D __int16=int /D __int32=long /D BOOL=__int32 /D FALSE=0 /D TRUE=1 -CPPFLAGS = $(CPPFLAGS) /D LITTLE_ENDIAN=1234 /D BYTE_ORDER=1234 /D TC_WINDOWS_BOOT /D TC_MINIMIZE_CODE_SIZE /D TC_NO_COMPILER_INT64 -CPPFLAGS = $(CPPFLAGS) /D malloc=malloc_NA +CFLAGS = /nologo /W3 /Fc /I "$(MSVC16_ROOT)\Include" /I"..\..\.." /I"..\..\..\Common" /I"..\..\..\Crypto" +CFLAGS = $(CFLAGS) /D __int8=char /D __int16=int /D __int32=long /D BOOL=char /D FALSE=0 /D TRUE=1 +CFLAGS = $(CFLAGS) /D LITTLE_ENDIAN=1234 /D BYTE_ORDER=1234 /D TC_WINDOWS_BOOT /D TC_MINIMIZE_CODE_SIZE /D TC_NO_COMPILER_INT64 +CFLAGS = $(CFLAGS) /D malloc=malloc_NA LFLAGS = /NOLOGO /ONERROR:NOEXE /NOI /BATCH +OBJDIR = Release -!ifdef DEBUG - -OBJDIR = Debug -OUTDIR = $(OBJDIR) -TARGETEXT = exe -CPPFLAGS = $(CPPFLAGS) /AM /Zl /G2 /D _DEBUG /D DEBUG /Od /Z7 /D_DOS -LFLAGS = $(LFLAGS) /CO /STACK:32768 -OBJS = -LIBS = mlibce -PROJDIR = .. +!ifdef RESCUE_DISK +OBJDIR = Rescue +CFLAGS = $(CFLAGS) /D TC_WINDOWS_BOOT_RESCUE_DISK_MODE +!endif -!else +!ifdef SINGLE_CIPHER +OBJDIR = $(OBJDIR)_$(SINGLE_CIPHER) +CFLAGS = $(CFLAGS) /D TC_WINDOWS_BOOT_SINGLE_CIPHER_MODE /D TC_WINDOWS_BOOT_$(SINGLE_CIPHER) +!endif -OBJDIR = Release OUTDIR = $(OBJDIR) TARGETEXT = com -TARGETS = $(OUTDIR)\BootDefs.i $(OUTDIR)\BootSector.bin -CPPFLAGS = $(CPPFLAGS) /AT /Zl /f- /G3 /Oe /Os /Ob1 /OV0 /Gs /Gf /Gy /D NDEBUG +TARGETS = $(OUTDIR)\BootDefs.i $(OUTDIR)\BootSector.bin $(OUTDIR)\Decompressor.com +CFLAGS = $(CFLAGS) /AT /Zl /f- /G3 /Oe /Os /Ob1 /OV0 /Gs /Gf /Gy /D NDEBUG LFLAGS = $(LFLAGS) /NOD /NOE /TINY OBJS = $(OUTDIR)\BootCrt.obj LIBS = slibce +!if 1 +SRCDIR = .. +!else +SRCDIR = $(MAKEDIR) !endif - TARGETS = $(TARGETS) $(OUTDIR)\$(PROJ).$(TARGETEXT) OBJS = $(OBJS) $(OUTDIR)\BootConfig.obj @@ -61,6 +61,7 @@ OBJS = $(OBJS) $(OUTDIR)\BootDebug.obj OBJS = $(OBJS) $(OUTDIR)\BootDiskIo.obj OBJS = $(OBJS) $(OUTDIR)\BootEncryptedIo.obj OBJS = $(OBJS) $(OUTDIR)\BootMain.obj +OBJS = $(OBJS) $(OUTDIR)\BootMemory.obj OBJS = $(OBJS) $(OUTDIR)\IntFilter.obj OBJS = $(OBJS) $(OUTDIR)\Platform.obj @@ -71,10 +72,22 @@ OBJS = $(OBJS) $(OUTDIR)\Pkcs5.obj OBJS = $(OBJS) $(OUTDIR)\Volumes.obj OBJS = $(OBJS) $(OUTDIR)\Xts.obj +OBJS = $(OBJS) $(OUTDIR)\Rmd160.obj + +!if !DEFINED (SINGLE_CIPHER) OBJS = $(OBJS) $(OUTDIR)\AesSmall.obj +!else if "$(SINGLE_CIPHER)" == "AES" +OBJS = $(OBJS) $(OUTDIR)\AesSmall_x86.obj +OBJS = $(OBJS) $(OUTDIR)\Aestab.obj +!endif + +!if !DEFINED (SINGLE_CIPHER) || "$(SINGLE_CIPHER)" == "SERPENT" OBJS = $(OBJS) $(OUTDIR)\Serpent.obj +!endif + +!if !DEFINED (SINGLE_CIPHER) || "$(SINGLE_CIPHER)" == "TWOFISH" OBJS = $(OBJS) $(OUTDIR)\Twofish.obj -OBJS = $(OBJS) $(OUTDIR)\Rmd160.obj +!endif all: env $(TARGETS) @@ -90,50 +103,68 @@ clean: .asm{$(OUTDIR)}.obj: cd $(OBJDIR) - $(AS) $(AFLAGS) /c ..\$< + $(AS) $(AFLAGS) /c "$(SRCDIR)\$<" + cd .. + +{..\..\Crypto}.asm{$(OUTDIR)}.obj: + cd $(OBJDIR) + echo $(NUL: - -dd.exe conv=notrunc bs=512 conv=notrunc if=BootSector.bin of=$(PROJ).flp 2>NUL: + -dd.exe conv=notrunc bs=512 if=BootSector.bin of=$(PROJ).flp 2>NUL: cd .. +$(OUTDIR)\Decompressor.com: $(OUTDIR)\BootCrt.obj $(OUTDIR)\Decompressor.obj + cd $(OBJDIR) + $(LD) $(LFLAGS) BootCrt.obj Decompressor.obj,Decompressor.com,Decompressor.map,$(MSVC16_ROOT)\lib\+slibce,, + -dd.exe conv=notrunc,sync bs=512 seek=1 if=Decompressor.com of=$(PROJ).flp 2>NUL: + cd .. $(OUTDIR)\$(PROJ).$(TARGETEXT): $(OBJS) @echo Linking... cd $(OBJDIR) echo >NUL: @<<$(PROJ).crf2 - + $(PROJ).$(TARGETEXT) $(PROJ).map $(MSVC16_ROOT)\lib\+ @@ -147,7 +178,6 @@ $(LIBS) $(LD) $(LFLAGS) @$(PROJ).crf del $(PROJ).crf $(PROJ).crf2 -!ifndef DEBUG - -dd.exe conv=notrunc,sync bs=512 seek=1 if=$(PROJ).$(TARGETEXT) of=$(PROJ).flp 2>NUL: -!endif + gzip.exe -c -n --best $(PROJ).$(TARGETEXT) >$(PROJ).$(TARGETEXT).gz + -dd.exe conv=notrunc,sync bs=512 seek=5 if=$(PROJ).$(TARGETEXT).gz of=$(PROJ).flp 2>NUL: cd ..