|
|
1.1.1.5 root 1: #
2: # Copyright (c) TrueCrypt Foundation. All rights reserved.
3: #
1.1.1.6 ! root 4: # Covered by the TrueCrypt License 2.3 the full text of which is contained
1.1.1.5 root 5: # in the file License.txt included in TrueCrypt binary and source code
6: # distribution packages.
7: #
1.1 root 8:
9: TC_COMMON := ../../Common
10: TC_CRYPTO := ../../Crypto
11:
1.1.1.4 root 12: CC ?= gcc
1.1 root 13:
14: ifneq ($(MAKECMDGOALS),clean)
15: -include ../Common/.platform
16: endif
17:
18: ifdef NO_WARNINGS
19: CFLAGS := -w
20: else
21: CFLAGS := -W
22: endif
1.1.1.5 root 23: CFLAGS += -I../../Crypto -I../../Common -I../Kernel -I../..
24: CFLAGS += -DBOOL=int -DTRUE=1 -DFALSE=0 -DMAX_PATH=260
1.1 root 25: CFLAGS += $(TYPES)
26:
27: ifndef DEBUG
1.1.1.4 root 28: # Do not enable strict aliasing
1.1 root 29: CFLAGS += -O2 -fno-strict-aliasing
30: else
31: CFLAGS += -ggdb
1.1.1.4 root 32: NO_STRIP := 1
1.1 root 33: endif
34:
1.1.1.5 root 35: KERNEL_OBJS_PRESENT := ../.kernel-objs
36: KERNEL_OBJS_CLEAN := ../.user-objs
1.1 root 37:
38: OBJS := $(TC_CRYPTO)/Aescrypt.o
39: OBJS += $(TC_CRYPTO)/Aeskey.o
40: OBJS += $(TC_CRYPTO)/Aestab.o
41: OBJS += $(TC_CRYPTO)/Bf_ecb.o
42: OBJS += $(TC_CRYPTO)/Bf_enc.o
43: OBJS += $(TC_CRYPTO)/Bf_skey.o
44: OBJS += $(TC_CRYPTO)/C_ecb.o
45: OBJS += $(TC_CRYPTO)/C_enc.o
46: OBJS += $(TC_CRYPTO)/C_skey.o
47: OBJS += $(TC_CRYPTO)/Des.o
48: OBJS += $(TC_CRYPTO)/Des_enc.o
49: OBJS += $(TC_CRYPTO)/Ecb3_enc.o
50: OBJS += $(TC_CRYPTO)/Rmd160.o
51: OBJS += $(TC_CRYPTO)/Serpent.o
52: OBJS += $(TC_CRYPTO)/Set_key.o
53: OBJS += $(TC_CRYPTO)/Sha1.o
54: OBJS += $(TC_CRYPTO)/Twofish.o
55: OBJS += $(TC_CRYPTO)/Whirlpool.o
56: OBJS += $(TC_COMMON)/Crc.o
57: OBJS += $(TC_COMMON)/Crypto.o
58: OBJS += $(TC_COMMON)/Endian.o
1.1.1.2 root 59: OBJS += $(TC_COMMON)/GfMul.o
1.1.1.3 root 60: OBJS += $(TC_COMMON)/Fat.o
61: OBJS += $(TC_COMMON)/Format.o
1.1 root 62: OBJS += $(TC_COMMON)/Keyfiles.o
63: OBJS += $(TC_COMMON)/Pkcs5.o
1.1.1.4 root 64: OBJS += $(TC_COMMON)/Random.o
1.1 root 65: OBJS += $(TC_COMMON)/Volumes.o
66: OBJS += $(TC_COMMON)/Tests.o
67: OBJS += Cli.o
68:
69: %.o: %.c
70: @echo Compiling $(<F)
1.1.1.2 root 71: @$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -o $@ -c $<
1.1 root 72:
1.1.1.5 root 73: .PHONY: all clean man
74:
75: all: $(KERNEL_OBJS_CLEAN) truecrypt
1.1 root 76: @echo Done.
77:
1.1.1.5 root 78: $(KERNEL_OBJS_CLEAN):
79: @rm -f ${OBJS} $(KERNEL_OBJS_PRESENT)
80: @>$(KERNEL_OBJS_CLEAN)
81:
1.1 root 82: ../Common/.platform: ../Common/Platform.c
1.1.1.5 root 83: @echo Compiling Platform.c
84: @$(CC) $(CFLAGS) $(EXTRA_CFLAGS) -o ../Common/platform $<
85: @echo Detecting platform options
1.1 root 86: @../Common/platform >../Common/.platform
87:
1.1.1.2 root 88: -include $(OBJS:.o=.d)
1.1 root 89:
90: truecrypt: $(OBJS)
1.1.1.2 root 91: @echo Linking $@
1.1.1.5 root 92: @$(CC) $(EXTRA_LFLAGS) -o $@ $(OBJS)
1.1.1.4 root 93: ifndef NO_STRIP
1.1.1.2 root 94: @strip $@
1.1 root 95: endif
1.1.1.5 root 96:
1.1 root 97: man: truecrypt.1
98:
1.1.1.5 root 99: truecrypt.1: $(KERNEL_OBJS_CLEAN) truecrypt
1.1 root 100: help2man -N -i Man/help2man.inc ./truecrypt >Man/truecrypt.1
101:
102: clean:
1.1.1.2 root 103: -rm -f truecrypt ${OBJS} *.d $(TC_COMMON)/*.d $(TC_CRYPTO)/*.d ../Common/platform ../Common/.platform
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.