|
|
1.1 root 1: #
1.1.1.3 root 2: # TrueCrypt Windows driver Makefile
1.1 root 3: #
4:
1.1.1.5 ! root 5: # Windows Driver Development Kit base path
! 6: DDK = C:\WINDDK\3790.1830
! 7:
! 8: !IFDEF WINDDK_3790_1830
! 9: DDK = $(WINDDK_3790_1830)
! 10: !ENDIF
1.1 root 11:
12: BASENAME = truecrypt
1.1.1.3 root 13: OS = wxp
14: ARCH = i386
15: MACHINE = IX86
16: DEFS = -D_X86_ -Di386
17: CC = $(DDK)\bin\x86\cl.exe
18: LD = $(DDK)\bin\x86\link.exe
19:
20: !IFDEF AMD64
21:
22: BASENAME = truecrypt-x64
23: OS = wnet
24: ARCH = amd64
25: MACHINE = AMD64
26: DEFS = -DAMD64 -D_AMD64_
27: CC = $(DDK)\bin\win64\x86\amd64\cl.exe
28: LD = $(DDK)\bin\win64\x86\amd64\link.exe
29:
30: !ENDIF
1.1 root 31:
32:
1.1.1.5 ! root 33: CFLAGS = -nologo $(CFLAGS) \
1.1.1.3 root 34: -EHs-c- -Zp8 -GS -Gy -cbstring -Gz -Gm- \
35: -GR- -GF -W3 -Wp64 -FI$(DDK)\inc\$(OS)\warning.h \
36: -I$(DDK)\inc\$(OS) -I$(DDK)\inc\ddk\$(OS) \
37: -I$(DDK)\inc\ddk\wdm\$(OS) -I$(DDK)\inc\crt \
1.1.1.5 ! root 38: -I..\..\Common -I..\..\Crypto -I..\..
1.1 root 39:
1.1.1.3 root 40: DEFS = $(DEFS) -DNT4_DRIVER -DSTD_CALL -DCONDITION_HANDLING=1 \
1.1 root 41: -DNT_UP=1 -DNT_INST=0 -DWIN32=100 -D_NT1X_=100 \
1.1.1.3 root 42: -DWINNT=1 -D_WIN32_WINNT=0x0400 -DWIN32_LEAN_AND_MEAN=1 -DDEVL=1 \
43: -D_UNICODE -DLITTLE_ENDIAN -DFPO=0 -D_DLL=1 -D_IDWBUILD
1.1 root 44:
1.1.1.3 root 45: LINK_OPTS = -nologo -machine:$(MACHINE) \
46: -MERGE:_PAGE=PAGE -MERGE:_TEXT=.text -SECTION:INIT,d \
1.1 root 47: -INCREMENTAL:NO -FORCE:MULTIPLE -RELEASE -FULLBUILD \
48: -IGNORE:4001,4037,4039,4065,4070,4078,4087,4089,4096 -NODEFAULTLIB \
49: -MERGE:.rdata=.text -MAP:$(BASENAME).map -driver -align:0x20 \
1.1.1.3 root 50: -subsystem:native -base:0x10000 -entry:DriverEntry
1.1 root 51:
1.1.1.5 ! root 52: OBJECTS = Aescrypt.obj Aeskey.obj Aestab.obj Bf_ecb.obj Bf_enc.obj Bf_skey.obj \
! 53: C_ecb.obj C_enc.obj C_skey.obj Des.obj Des_enc.obj Ecb3_enc.obj Rmd160.obj \
! 54: Serpent.obj Set_key.obj Sha1.obj Twofish.obj Whirlpool.obj \
! 55: Ntdriver.obj Ntvol.obj \
! 56: Cache.obj Crc.obj Crypto.obj Endian.obj GfMul.obj Pkcs5.obj Volumes.obj \
1.1.1.4 root 57: Tests.obj Driver.res
1.1 root 58:
1.1.1.3 root 59: LIBS = $(DDK)\lib\$(OS)\$(ARCH)\ntoskrnl.lib \
60: $(DDK)\lib\$(OS)\$(ARCH)\hal.lib \
61: $(DDK)\lib\$(OS)\$(ARCH)\bufferoverflowK.lib
1.1 root 62:
63:
1.1.1.3 root 64: !IFDEF RELEASE
1.1 root 65:
1.1.1.3 root 66: # Release
67: DEFS = $(DEFS) -DNO_DISK_ACCESS -DNDEBUG
68: CFLAGS = $(CFLAGS) -Gs- -Oxs -Oy -w34244 -w34267 -w34189 -FAcs
69: COPYRELEASE = copy $(BASENAME).sys "..\..\Release\Setup files"
1.1 root 70:
1.1.1.3 root 71: !ELSE
1.1 root 72:
1.1.1.3 root 73: # Debug
74: CFLAGS = $(CFLAGS) -Gs -Z7 -Od -Oi -Oy-
75: DEFS = $(DEFS) -DDBG=1 -D_DEBUG -DDEBUG -DRDRDBG -DSRVDBG -DDBG_MESSAGES=1
76: LINK_OPTS = -debug $(LINK_OPTS)
77: COPYRELEASE =
1.1 root 78:
79: !ENDIF
80:
1.1.1.3 root 81: CFLAGS = $(CFLAGS) $(DEFS)
1.1 root 82:
83:
1.1.1.3 root 84: all: $(BASENAME).sys
1.1.1.5 ! root 85:
1.1 root 86: {..}.c{}.obj :
1.1.1.3 root 87: @$(CC) -c $(CFLAGS) $<
1.1 root 88:
1.1.1.3 root 89: {..\..\Common}.c{}.obj :
90: @$(CC) -c $(CFLAGS) $<
1.1 root 91:
1.1.1.3 root 92: {..\..\Crypto}.c{}.obj :
93: @$(CC) -c $(CFLAGS) $<
94:
95: {..}.rc{}.res :
1.1.1.5 ! root 96: @echo Driver.rc
! 97: @rc -r -fo Driver.res $<
1.1 root 98:
1.1.1.3 root 99: $(BASENAME).sys : $(OBJECTS) $(LIBS)
1.1.1.5 ! root 100: @echo Linking...
! 101: @echo $(BASENAME).sys
! 102: @$(LD) $(LINK_OPTS) $(OBJECTS) $(LIBS) -out:$(BASENAME).sys
! 103: @$(COPYRELEASE)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.