blob: e783ea111fb6f3e0574e6331daac84110f25b86e [file] [log] [blame]
#
# Makefile for the Defex
#
# Features to Enable
PED_ENABLE=true
SAFEPLACE_ENABLE=true
INTEGRITY_ENABLE=true
# caches to enable
CACHES_ENABLE=true
obj-y := defex_lsm.o
obj-y += defex_catch_list.o
obj-y += defex_ht.o
obj-y += defex_config.o
obj-y += defex_sysfs.o
obj-y += defex_procs.o
obj-y += defex_catch_list_compat.o
obj-y += defex_rules.o
ifeq ($(CONFIG_DEFEX_KERNEL_ONLY), y)
EXTRA_CFLAGS += -DDEFEX_KERNEL_ONLY
endif
ifeq ($(PED_ENABLE), true)
obj-y += defex_priv.o
EXTRA_CFLAGS += -DDEFEX_PED_ENABLE
endif
ifeq ($(SAFEPLACE_ENABLE), true)
obj-y += defex_safeplace.o
EXTRA_CFLAGS += -DDEFEX_SAFEPLACE_ENABLE
endif
ifeq ($(INTEGRITY_ENABLE), true)
EXTRA_CFLAGS += -DDEFEX_INTEGRITY_ENABLE
endif
ifeq ($(CACHES_ENABLE), true)
obj-y += defex_caches.o
EXTRA_CFLAGS += -DDEFEX_CACHES_ENABLE
endif
ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
obj-y += defex_debug.o
EXTRA_CFLAGS += -DDEFEX_PERMISSIVE_SP
EXTRA_CFLAGS += -DDEFEX_DEBUG_ENABLE
EXTRA_CFLAGS += -DDEFEX_SYSFS_ENABLE
endif
ifeq ($(SEC_BUILD_OPTION_VTS), true)
$(warning [DEFEX] VTS true $(SEC_BUILD_OPTION_VTS))
EXTRA_CFLAGS += -DDEFEX_PERMISSIVE_SP
EXTRA_CFLAGS += -DDEFEX_PERMISSIVE_PED
else
$(warning [DEFEX] VTS false $(SEC_BUILD_OPTION_VTS))
endif
ifeq ($(CONFIG_SEC_FACTORY), y)
EXTRA_CFLAGS += -DDEFEX_PERMISSIVE_SP
EXTRA_CFLAGS += -DDEFEX_PERMISSIVE_PED
endif
ifneq ($(wildcard $(srctree)/$(src)/pack_rules.c),)
EXTRA_CFLAGS += -DDEFEX_USE_PACKED_RULES
hostprogs-y := pack_rules
HOST_EXTRACFLAGS += $(EXTRA_CFLAGS)
clean-files := $(srctree)/$(src)/defex_packed_rules.inc
DEPEND_LIST := $(obj)/pack_rules
$(obj)/defex_sysfs.o: $(obj)/pack_rules $(srctree)/$(src)/defex_packed_rules.inc
quiet_cmd_pack = PACK $<
cmd_pack = $(obj)/pack_rules -p $< $@ $(srctree)/$(src)/defex_packed_rules.bin
SOURCE_RULES := $(srctree)/$(src)/defex_rules.c
ifneq ($(wildcard $(srctree)/$(src)/file_list),)
$(warning '[DEFEX] file_list found')
SOURCE_RULES := $(srctree)/$(src)/defex_rules_reduced.c
DEPEND_LIST += $(SOURCE_RULES)
DEPEND_LIST += $(srctree)/$(src)/file_list
clean-files += $(DEPEND_LIST)
quiet_cmd_reduce = REDUCE $<
cmd_reduce = $(obj)/pack_rules -r $< $@ $(srctree)/$(src)/file_list
$(srctree)/$(src)/defex_rules_reduced.c: $(srctree)/$(src)/defex_rules.c $(obj)/pack_rules
$(call cmd,reduce)
endif
$(srctree)/$(src)/defex_packed_rules.inc: $(SOURCE_RULES) $(DEPEND_LIST)
$(call cmd,pack)
endif