--- truecrypt/boot/windows/makefile 2018/04/24 16:49:04 1.1 +++ truecrypt/boot/windows/makefile 2018/04/24 17:03:37 1.1.1.6 @@ -1,7 +1,7 @@ # # Copyright (c) 2008 TrueCrypt Foundation. All rights reserved. # -# Governed by the TrueCrypt License 2.4 the full text of which is contained +# Governed by the TrueCrypt License 2.7 the full text of which is contained # in the file License.txt included in TrueCrypt binary and source code # distribution packages. # @@ -27,32 +27,32 @@ CPPFLAGS = $(CPPFLAGS) /D malloc=malloc_ 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 +CPPFLAGS = $(CPPFLAGS) /D TC_WINDOWS_BOOT_RESCUE_DISK_MODE +!endif -!else +!ifdef SINGLE_CIPHER +OBJDIR = $(OBJDIR)_$(SINGLE_CIPHER) +CPPFLAGS = $(CPPFLAGS) /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 +TARGETS = $(OUTDIR)\BootDefs.i $(OUTDIR)\BootSector.bin $(OUTDIR)\Decompressor.com CPPFLAGS = $(CPPFLAGS) /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,34 +103,47 @@ clean: .asm{$(OUTDIR)}.obj: cd $(OBJDIR) - $(AS) $(AFLAGS) /c ..\$< + $(AS) $(AFLAGS) /c "$(SRCDIR)\$<" + cd .. + +{..\..\Crypto}.asm{$(OUTDIR)}.obj: + cd $(OBJDIR) + echo $(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 ..