--- truecrypt/linux/kernel/makefile 2018/04/24 16:45:56 1.1.1.4 +++ truecrypt/linux/kernel/makefile 2018/04/24 16:47:47 1.1.1.6 @@ -1,8 +1,13 @@ -# TrueCrypt Linux Kernel Module Makefile +# +# Copyright (c) TrueCrypt Foundation. All rights reserved. +# +# Covered by the TrueCrypt License 2.3 the full text of which is contained +# in the file License.txt included in TrueCrypt binary and source code +# distribution packages. +# -ifndef KERNEL_SRC -KERNEL_SRC := /usr/src/linux -endif +KERNEL_SRC ?= /usr/src/linux +KERNEL_BUILD ?= $(KERNEL_SRC) TC_COMMON := ../../Common TC_CRYPTO := ../../Crypto @@ -21,11 +26,12 @@ 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 += -DBOOL=int -DTRUE=1 -DFALSE=0 EXTRA_CFLAGS += -DLINUX_DRIVER EXTRA_CFLAGS += -I$(KERNEL_SRC)/drivers/md EXTRA_CFLAGS += -I$(TC_BASE)/Crypto EXTRA_CFLAGS += -I$(TC_BASE)/Common +EXTRA_CFLAGS += -I$(TC_BASE) OBJS := $(TC_CRYPTO)/Aescrypt.o OBJS += $(TC_CRYPTO)/Aeskey.o @@ -52,11 +58,13 @@ OBJS += Dm-target.o truecrypt-objs := $(OBJS) obj-m := truecrypt.o -USER_OBJS_F := ../.user-objs -KERNEL_OBJS_F := ../.kernel-objs +USER_OBJS_PRESENT := ../.user-objs +USER_OBJS_CLEAN := ../.kernel-objs + +.PHONY: clean install truecrypt -truecrypt: objclean platform - @$(MAKE) TC_BASE=$(PWD)/../.. -C $(KERNEL_SRC) SUBDIRS=$(PWD) M=$(PWD) modules +truecrypt: $(USER_OBJS_CLEAN) platform + @$(MAKE) TC_BASE=$(PWD)/../.. -C $(KERNEL_BUILD) SUBDIRS=$(PWD) M=$(PWD) modules CMN := ../../Linux/Common @@ -66,14 +74,14 @@ $(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 - @>$(KERNEL_OBJS_F) +$(USER_OBJS_CLEAN): + @rm -f $(OBJS) $(USER_OBJS_PRESENT) + @>$(USER_OBJS_CLEAN) clean: -rm -f $(OBJS) ../Common/.platform ../Common/platform - $(MAKE) -C $(KERNEL_SRC) SUBDIRS=$(PWD) M=$(PWD) clean + $(MAKE) -C $(KERNEL_BUILD) SUBDIRS=$(PWD) M=$(PWD) clean install: truecrypt - $(MAKE) -C $(KERNEL_SRC) SUBDIRS=$(PWD) M=$(PWD) modules_install + $(MAKE) -C $(KERNEL_BUILD) SUBDIRS=$(PWD) M=$(PWD) modules_install depmod -a