|
|
1.1 ! root 1: # ! 2: # Copyright (c) 2008 TrueCrypt Foundation. All rights reserved. ! 3: # ! 4: # Governed by the TrueCrypt License 2.4 the full text of which is contained ! 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 ! 45: OUTDIR = $(OBJDIR) ! 46: TARGETEXT = com ! 47: TARGETS = $(OUTDIR)\BootDefs.i $(OUTDIR)\BootSector.bin ! 48: CPPFLAGS = $(CPPFLAGS) /AT /Zl /f- /G3 /Oe /Os /Ob1 /OV0 /Gs /Gf /Gy /D NDEBUG ! 49: LFLAGS = $(LFLAGS) /NOD /NOE /TINY ! 50: OBJS = $(OUTDIR)\BootCrt.obj ! 51: LIBS = slibce ! 52: ! 53: !endif ! 54: ! 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 ! 64: OBJS = $(OBJS) $(OUTDIR)\IntFilter.obj ! 65: OBJS = $(OBJS) $(OUTDIR)\Platform.obj ! 66: ! 67: OBJS = $(OBJS) $(OUTDIR)\Crc.obj ! 68: OBJS = $(OBJS) $(OUTDIR)\Crypto.obj ! 69: OBJS = $(OBJS) $(OUTDIR)\Endian.obj ! 70: OBJS = $(OBJS) $(OUTDIR)\Pkcs5.obj ! 71: OBJS = $(OBJS) $(OUTDIR)\Volumes.obj ! 72: OBJS = $(OBJS) $(OUTDIR)\Xts.obj ! 73: ! 74: OBJS = $(OBJS) $(OUTDIR)\AesSmall.obj ! 75: OBJS = $(OBJS) $(OUTDIR)\Serpent.obj ! 76: OBJS = $(OBJS) $(OUTDIR)\Twofish.obj ! 77: OBJS = $(OBJS) $(OUTDIR)\Rmd160.obj ! 78: ! 79: ! 80: all: env $(TARGETS) ! 81: ! 82: env: ! 83: set INCLUDE=. ! 84: set LIB=. ! 85: set LIBPATH=. ! 86: ! 87: clean: ! 88: -del /q /s $(OBJDIR) >NUL: ! 89: ! 90: ! 91: .asm{$(OUTDIR)}.obj: ! 92: cd $(OBJDIR) ! 93: $(AS) $(AFLAGS) /c ..\$< ! 94: cd .. ! 95: ! 96: {..\..\Crypto}.c{$(OUTDIR)}.obj: ! 97: cd $(OBJDIR) ! 98: set PATH=. ! 99: $(CPP) $(CPPFLAGS) /c ..\$< ! 100: set PATH=$(ENVPATH) ! 101: cd .. ! 102: ! 103: {..\..\Common}.c{$(OUTDIR)}.obj: ! 104: cd $(OBJDIR) ! 105: set PATH=. ! 106: $(CPP) $(CPPFLAGS) /c ..\$< ! 107: set PATH=$(ENVPATH) ! 108: cd .. ! 109: ! 110: .cpp{$(OUTDIR)}.obj: ! 111: cd $(OBJDIR) ! 112: set PATH=. ! 113: $(CPP) $(CPPFLAGS) /c ..\$< ! 114: set PATH=$(ENVPATH) ! 115: cd .. ! 116: ! 117: $(OUTDIR)\BootDefs.i: BootDefs.h ! 118: cd $(OBJDIR) ! 119: set PATH=. ! 120: $(CPP) /nologo /D TC_ASM_PREPROCESS /P /EP ..\BootDefs.h ! 121: set PATH=$(ENVPATH) ! 122: cd .. ! 123: ! 124: $(OUTDIR)\BootSector.bin: $(OUTDIR)\BootSector.obj ! 125: cd $(OBJDIR) ! 126: $(LD) $(LFLAGS) BootSector.obj,BootSector.bin,,,, >NUL: ! 127: -dd.exe conv=notrunc bs=512 conv=notrunc if=BootSector.bin of=$(PROJ).flp 2>NUL: ! 128: cd .. ! 129: ! 130: ! 131: $(OUTDIR)\$(PROJ).$(TARGETEXT): $(OBJS) ! 132: @echo Linking... ! 133: cd $(OBJDIR) ! 134: ! 135: echo >NUL: @<<$(PROJ).crf2 ! 136: ! 137: $(PROJ).$(TARGETEXT) ! 138: $(PROJ).map ! 139: $(MSVC16_ROOT)\lib\+ ! 140: $(LIBS) ! 141: ; ! 142: << ! 143: del $(PROJ).crf >NUL: 2>NUL: ! 144: for %F in ($(**F)) do @echo %F + >>$(PROJ).crf ! 145: type $(PROJ).crf2 >>$(PROJ).crf ! 146: ! 147: $(LD) $(LFLAGS) @$(PROJ).crf ! 148: del $(PROJ).crf $(PROJ).crf2 ! 149: ! 150: !ifndef DEBUG ! 151: -dd.exe conv=notrunc,sync bs=512 seek=1 if=$(PROJ).$(TARGETEXT) of=$(PROJ).flp 2>NUL: ! 152: !endif ! 153: cd ..
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.