--- truecrypt/linux/kernel/makefile 2018/04/24 16:43:12 1.1 +++ truecrypt/linux/kernel/makefile 2018/04/24 16:45:56 1.1.1.4 @@ -18,6 +18,8 @@ EXTRA_CFLAGS += -w else EXTRA_CFLAGS += -Wno-strict-prototypes endif +# Do not enable strict aliasing +EXTRA_CFLAGS += -fno-strict-aliasing EXTRA_CFLAGS += $(TYPES) EXTRA_CFLAGS += -D_cdecl="" -DBOOL=int -DTRUE=1 -DFALSE=0 EXTRA_CFLAGS += -DLINUX_DRIVER @@ -43,6 +45,7 @@ OBJS += $(TC_CRYPTO)/Twofish.o OBJS += $(TC_COMMON)/Crc.o OBJS += $(TC_COMMON)/Crypto.o OBJS += $(TC_COMMON)/Endian.o +OBJS += $(TC_COMMON)/GfMul.o OBJS += $(TC_COMMON)/Tests.o OBJS += Dm-target.o @@ -52,12 +55,16 @@ obj-m := truecrypt.o USER_OBJS_F := ../.user-objs KERNEL_OBJS_F := ../.kernel-objs -truecrypt: objclean +truecrypt: objclean platform @$(MAKE) TC_BASE=$(PWD)/../.. -C $(KERNEL_SRC) SUBDIRS=$(PWD) M=$(PWD) modules -$(TC_BASE)/Linux/Common/.platform: $(TC_BASE)/Linux/Common/Platform.c - @$(CC) -o $(TC_BASE)/Linux/Common/platform $< - @$(TC_BASE)/Linux/Common/platform >$(TC_BASE)/Linux/Common/.platform +CMN := ../../Linux/Common + +platform: $(CMN)/.platform + +$(CMN)/.platform: $(CMN)/Platform.c + @$(CC) -o $(CMN)/platform $< + @$(CMN)/platform >$(CMN)/.platform objclean: @if [ -f $(USER_OBJS_F) ]; then rm -f $(OBJS) $(USER_OBJS_F); fi