|
|
1.1 root 1: # 1.1.1.9 ! root 2: # Copyright (c) 2008-2010 TrueCrypt Developers Association. All rights reserved. 1.1 root 3: # 1.1.1.9 ! root 4: # Governed by the TrueCrypt License 3.0 the full text of which is contained in 1.1.1.8 root 5: # the file License.txt included in TrueCrypt binary and source code distribution 6: # packages. 1.1 root 7: # 8: 9: PROJ = BootLoader 10: .SILENT: 11: 12: !ifndef MSVC16_ROOT 13: !error Environment variable MSVC16_ROOT must point to the installation directory of MS Visual C++ 1.5 14: !endif 15: 16: ENVPATH = $(PATH) 17: 1.1.1.7 root 18: CC = $(MSVC16_ROOT)\bin\cl.exe 1.1 root 19: LD = $(MSVC16_ROOT)\bin\link.exe 20: 1.1.1.7 root 21: AFLAGS = /nologo /omf 1.1 root 22: 1.1.1.7 root 23: CFLAGS = /nologo /W3 /Fc /I "$(MSVC16_ROOT)\Include" /I"..\..\.." /I"..\..\..\Common" /I"..\..\..\Crypto" 24: CFLAGS = $(CFLAGS) /D __int8=char /D __int16=int /D __int32=long /D BOOL=char /D FALSE=0 /D TRUE=1 25: CFLAGS = $(CFLAGS) /D LITTLE_ENDIAN=1234 /D BYTE_ORDER=1234 /D TC_WINDOWS_BOOT /D TC_MINIMIZE_CODE_SIZE /D TC_NO_COMPILER_INT64 26: CFLAGS = $(CFLAGS) /D malloc=malloc_NA 1.1 root 27: 28: LFLAGS = /NOLOGO /ONERROR:NOEXE /NOI /BATCH 29: 30: OBJDIR = Release 1.1.1.3 root 31: 1.1.1.4 root 32: !ifdef RESCUE_DISK 33: OBJDIR = Rescue 1.1.1.7 root 34: CFLAGS = $(CFLAGS) /D TC_WINDOWS_BOOT_RESCUE_DISK_MODE 1.1.1.4 root 35: !endif 36: 1.1.1.3 root 37: !ifdef SINGLE_CIPHER 38: OBJDIR = $(OBJDIR)_$(SINGLE_CIPHER) 1.1.1.7 root 39: CFLAGS = $(CFLAGS) /D TC_WINDOWS_BOOT_SINGLE_CIPHER_MODE /D TC_WINDOWS_BOOT_$(SINGLE_CIPHER) 1.1.1.3 root 40: !endif 41: 1.1 root 42: OUTDIR = $(OBJDIR) 43: TARGETEXT = com 1.1.1.3 root 44: TARGETS = $(OUTDIR)\BootDefs.i $(OUTDIR)\BootSector.bin $(OUTDIR)\Decompressor.com 1.1.1.7 root 45: CFLAGS = $(CFLAGS) /AT /Zl /f- /G3 /Oe /Os /Ob1 /OV0 /Gs /Gf /Gy /D NDEBUG 1.1 root 46: LFLAGS = $(LFLAGS) /NOD /NOE /TINY 47: OBJS = $(OUTDIR)\BootCrt.obj 48: LIBS = slibce 49: 1.1.1.3 root 50: !if 1 51: SRCDIR = .. 52: !else 53: SRCDIR = $(MAKEDIR) 54: !endif 1.1 root 55: 56: TARGETS = $(TARGETS) $(OUTDIR)\$(PROJ).$(TARGETEXT) 57: 58: OBJS = $(OBJS) $(OUTDIR)\BootConfig.obj 59: OBJS = $(OBJS) $(OUTDIR)\BootConsoleIo.obj 60: OBJS = $(OBJS) $(OUTDIR)\BootDebug.obj 61: OBJS = $(OBJS) $(OUTDIR)\BootDiskIo.obj 62: OBJS = $(OBJS) $(OUTDIR)\BootEncryptedIo.obj 63: OBJS = $(OBJS) $(OUTDIR)\BootMain.obj 1.1.1.2 root 64: OBJS = $(OBJS) $(OUTDIR)\BootMemory.obj 1.1 root 65: OBJS = $(OBJS) $(OUTDIR)\IntFilter.obj 66: OBJS = $(OBJS) $(OUTDIR)\Platform.obj 67: 68: OBJS = $(OBJS) $(OUTDIR)\Crc.obj 69: OBJS = $(OBJS) $(OUTDIR)\Crypto.obj 70: OBJS = $(OBJS) $(OUTDIR)\Endian.obj 71: OBJS = $(OBJS) $(OUTDIR)\Pkcs5.obj 72: OBJS = $(OBJS) $(OUTDIR)\Volumes.obj 73: OBJS = $(OBJS) $(OUTDIR)\Xts.obj 74: 1.1.1.3 root 75: OBJS = $(OBJS) $(OUTDIR)\Rmd160.obj 76: 77: !if !DEFINED (SINGLE_CIPHER) 1.1 root 78: OBJS = $(OBJS) $(OUTDIR)\AesSmall.obj 1.1.1.3 root 79: !else if "$(SINGLE_CIPHER)" == "AES" 1.1.1.9 ! root 80: OBJS = $(OBJS) $(OUTDIR)\Aes_hw_cpu.obj 1.1.1.3 root 81: OBJS = $(OBJS) $(OUTDIR)\AesSmall_x86.obj 82: OBJS = $(OBJS) $(OUTDIR)\Aestab.obj 83: !endif 84: 85: !if !DEFINED (SINGLE_CIPHER) || "$(SINGLE_CIPHER)" == "SERPENT" 1.1 root 86: OBJS = $(OBJS) $(OUTDIR)\Serpent.obj 1.1.1.3 root 87: !endif 88: 89: !if !DEFINED (SINGLE_CIPHER) || "$(SINGLE_CIPHER)" == "TWOFISH" 1.1 root 90: OBJS = $(OBJS) $(OUTDIR)\Twofish.obj 1.1.1.3 root 91: !endif 1.1 root 92: 93: 94: all: env $(TARGETS) 95: 96: env: 97: set INCLUDE=. 98: set LIB=. 99: set LIBPATH=. 100: 101: clean: 102: -del /q /s $(OBJDIR) >NUL: 103: 104: 105: .asm{$(OUTDIR)}.obj: 106: cd $(OBJDIR) 1.1.1.3 root 107: $(AS) $(AFLAGS) /c "$(SRCDIR)\$<" 108: cd .. 109: 110: {..\..\Crypto}.asm{$(OUTDIR)}.obj: 111: cd $(OBJDIR) 112: echo $(<F) 1.1.1.7 root 113: nasm.exe -Xvc -f obj -Ox -o "$(<B).obj" -l "$(<B).lst" "$(SRCDIR)\$<" 1.1 root 114: cd .. 115: 116: {..\..\Crypto}.c{$(OUTDIR)}.obj: 117: cd $(OBJDIR) 118: set PATH=. 1.1.1.7 root 119: $(CC) $(CFLAGS) /c "$(SRCDIR)\$<" 1.1 root 120: set PATH=$(ENVPATH) 121: cd .. 122: 123: {..\..\Common}.c{$(OUTDIR)}.obj: 124: cd $(OBJDIR) 125: set PATH=. 1.1.1.7 root 126: $(CC) $(CFLAGS) /c "$(SRCDIR)\$<" 1.1 root 127: set PATH=$(ENVPATH) 128: cd .. 1.1.1.3 root 129: 130: .c{$(OUTDIR)}.obj: 131: cd $(OBJDIR) 132: set PATH=. 1.1.1.7 root 133: $(CC) $(CFLAGS) /c "$(SRCDIR)\$<" 1.1.1.3 root 134: set PATH=$(ENVPATH) 135: cd .. 136: 1.1 root 137: .cpp{$(OUTDIR)}.obj: 138: cd $(OBJDIR) 139: set PATH=. 1.1.1.7 root 140: $(CC) $(CFLAGS) /c "$(SRCDIR)\$<" 1.1 root 141: set PATH=$(ENVPATH) 142: cd .. 143: 144: $(OUTDIR)\BootDefs.i: BootDefs.h 145: cd $(OBJDIR) 146: set PATH=. 1.1.1.7 root 147: $(CC) $(CFLAGS) /D TC_ASM_PREPROCESS /P /EP "$(SRCDIR)\BootDefs.h" 1.1 root 148: set PATH=$(ENVPATH) 149: cd .. 150: 151: $(OUTDIR)\BootSector.bin: $(OUTDIR)\BootSector.obj 152: cd $(OBJDIR) 153: $(LD) $(LFLAGS) BootSector.obj,BootSector.bin,,,, >NUL: 1.1.1.7 root 154: -dd.exe conv=notrunc bs=512 if=BootSector.bin of=$(PROJ).flp 2>NUL: 1.1 root 155: cd .. 156: 1.1.1.3 root 157: $(OUTDIR)\Decompressor.com: $(OUTDIR)\BootCrt.obj $(OUTDIR)\Decompressor.obj 158: cd $(OBJDIR) 159: $(LD) $(LFLAGS) BootCrt.obj Decompressor.obj,Decompressor.com,Decompressor.map,$(MSVC16_ROOT)\lib\+slibce,, 160: -dd.exe conv=notrunc,sync bs=512 seek=1 if=Decompressor.com of=$(PROJ).flp 2>NUL: 161: cd .. 1.1 root 162: 163: $(OUTDIR)\$(PROJ).$(TARGETEXT): $(OBJS) 164: @echo Linking... 165: cd $(OBJDIR) 166: 167: echo >NUL: @<<$(PROJ).crf2 1.1.1.3 root 168: 1.1 root 169: $(PROJ).$(TARGETEXT) 170: $(PROJ).map 171: $(MSVC16_ROOT)\lib\+ 172: $(LIBS) 173: ; 174: << 175: del $(PROJ).crf >NUL: 2>NUL: 176: for %F in ($(**F)) do @echo %F + >>$(PROJ).crf 177: type $(PROJ).crf2 >>$(PROJ).crf 178: 179: $(LD) $(LFLAGS) @$(PROJ).crf 180: del $(PROJ).crf $(PROJ).crf2 181: 1.1.1.3 root 182: gzip.exe -c -n --best $(PROJ).$(TARGETEXT) >$(PROJ).$(TARGETEXT).gz 183: -dd.exe conv=notrunc,sync bs=512 seek=5 if=$(PROJ).$(TARGETEXT).gz of=$(PROJ).flp 2>NUL: 1.1 root 184: cd ..
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.