blob: d6ddfe85651087acbc4231e4bc0d13f7f28a9f29 [file] [log] [blame]
###############################################################################
# Necessary Check
#ifeq ($(AUTOCONF_H),)
#$(error AUTOCONF_H is not defined)
#endif
#ccflags-y += -imacros $(AUTOCONF_H)
ifeq ($(TARGET_BUILD_VARIANT),$(filter $(TARGET_BUILD_VARIANT),userdebug user))
ldflags-y += -s
endif
# Force build fail on modpost warning
KBUILD_MODPOST_FAIL_ON_WARNINGS := y
###############################################################################
ccflags-y += -I$(srctree)/include/
###############################################################################
ccflags-y += -Werror
ccflags-y += -Wno-error=format
ccflags-y += -Wno-error=format-extra-args
###############################################################################
MODULE_NAME := hwnat
ifeq ($(CONFIG_WLAN_DRV_BUILD_IN),y)
$(warning $(MODULE_NAME) build-in boot.img)
obj-y += $(MODULE_NAME).o
else
$(warning $(MODULE_NAME) is kernel module)
obj-m += $(MODULE_NAME).o
endif
# Local config
ccflags-y += -D CONFIG_RA_NAT_HW=1
ccflags-y += -D CONFIG_RA_HW_NAT=1
ccflags-y += -D CONFIG_RA_HW_NAT_TBL_32K=1
ccflags-y += -D CONFIG_RA_HW_NAT_HASH1=1
ccflags-y += -D CONFIG_HW_NAT_AUTO_MODE=1
ccflags-y += -D CONFIG_PPE_MCAST=1
ccflags-y += -D CONFIG_RA_HW_NAT_WIFI=1
ccflags-y += -D CONFIG_RA_HW_NAT_WIFI_NEW_ARCH=1
ccflags-y += -D CONFIG_ARCH_MT7622_WIFI_HW_NAT=1
ccflags-y += -D CONFIG_PPE_MIB=1
ccflags-y += -D CONFIG_HW_NAT_AUTO_MODE=1
ccflags-y += -D CONFIG_ARCH_COLGIN=1
ccflags-y += -D CONFIG_RA_HW_NAT_IPV6=1
ccflags-y += -D CONFIG_SUPPORT_OPENWRT=1
ccflags-y += -D CONFIG_QDMA_SUPPORT_QOS=1
ccflags-y += -D CONFIG_HW_NAT_SW_DVFS=1
ccflags-y += -D CONFIG_HNAT_V1=1
ccflags-y += -D CONFIG_MTK_TINYSYS_MEDMCU_SUPPORT=1
# Local config
EXTRA_KCONFIG:= \
CONFIG_RA_NAT_HW=y \
CONFIG_RA_HW_NAT=m \
CONFIG_RA_HW_NAT_TBL_32K=y \
CONFIG_RA_HW_NAT_HASH1=y \
CONFIG_HW_NAT_AUTO_MODE=y \
CONFIG_PPE_MCAST=y \
CONFIG_RA_HW_NAT_WIFI=y \
CONFIG_RA_HW_NAT_WIFI_NEW_ARCH=y \
CONFIG_ARCH_MT7622_WIFI_HW_NAT=y \
CONFIG_PPE_MIB=y \
CONFIG_HW_NAT_AUTO_MODE=y \
CONFIG_ARCH_COLGIN=y \
CONFIG_RA_HW_NAT_IPV6=y \
CONFIG_SUPPORT_OPENWRT=y \
CONFIG_QDMA_SUPPORT_QOS=y \
CONFIG_HW_NAT_SW_DVFS=y \
CONFIG_HNAT_V1=y \
CONFIG_MTK_TINYSYS_MEDMCU_SUPPORT=y
# Transfer local kernel config to compile option
EXTRA_CFLAGS:= \
$(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(EXTRA_KCONFIG)))) \
$(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(EXTRA_KCONFIG)))) \
$(patsubst CONFIG_%, -DCONFIG_%=0, $(patsubst %=n,%,$(filter %=n,$(EXTRA_KCONFIG)))) \
$(info $$EXTRA_CFLAGS is [${EXTRA_CFLAGS}])
###############################################################################
# common_main
###############################################################################
ccflags-y += -I$(src)/hw_nat
ccflags-y += -I$(src)/include
###############################################################################
$(MODULE_NAME)-objs += hw_nat/ra_nat.o
$(MODULE_NAME)-objs += hw_nat/hwnat_ioctl.o
$(MODULE_NAME)-objs += hw_nat/hnat_dbg_proc.o
$(MODULE_NAME)-objs += hw_nat/hnat_common.o
$(MODULE_NAME)-objs += hw_nat/foe_fdb.o
$(MODULE_NAME)-objs += hw_nat/util.o
$(MODULE_NAME)-objs += hw_nat/mcast_tbl.o
#ifeq ($(CONFIG_HW_NAT_SW_DVFS),y)
$(MODULE_NAME)-objs += hw_nat/hnat_swdvfs.o
#endif
#$(MODULE_NAME)-objs += hw_nat/hook_base.o
#$(MODULE_NAME)-objs += hw_nat/hook_ext.o
ifeq ($(CONFIG_PINCTRL_MT7622),y)
EXTRA_CFLAGS += -DCONFIG_ARCH_MT7622
endif
ifeq ($(CONFIG_RALINK),y)
EXTRA_CFLAGS += -DCONFIG_RALINK_MT7621
endif
ifeq ($(CONFIG_SOC_MT7621),y)
EXTRA_CFLAGS += -DCONFIG_RALINK_MT7621
endif
EXTRA_CFLAGS += -DCONFIG_ARCH_COLGIN