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