Annotation of truecrypt/boot/windows/makefile, revision 1.1.1.4

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.