blob: d6ddfe85651087acbc4231e4bc0d13f7f28a9f29 [file] [log] [blame]
xjb04a4022021-11-25 15:01:52 +08001###############################################################################
2# Necessary Check
3
4#ifeq ($(AUTOCONF_H),)
5 #$(error AUTOCONF_H is not defined)
6#endif
7
8#ccflags-y += -imacros $(AUTOCONF_H)
9
10ifeq ($(TARGET_BUILD_VARIANT),$(filter $(TARGET_BUILD_VARIANT),userdebug user))
11 ldflags-y += -s
12endif
13
14# Force build fail on modpost warning
15KBUILD_MODPOST_FAIL_ON_WARNINGS := y
16###############################################################################
17ccflags-y += -I$(srctree)/include/
18###############################################################################
19
20ccflags-y += -Werror
21ccflags-y += -Wno-error=format
22ccflags-y += -Wno-error=format-extra-args
23
24###############################################################################
25MODULE_NAME := hwnat
26ifeq ($(CONFIG_WLAN_DRV_BUILD_IN),y)
27$(warning $(MODULE_NAME) build-in boot.img)
28obj-y += $(MODULE_NAME).o
29else
30$(warning $(MODULE_NAME) is kernel module)
31obj-m += $(MODULE_NAME).o
32endif
33
34# Local config
35ccflags-y += -D CONFIG_RA_NAT_HW=1
36ccflags-y += -D CONFIG_RA_HW_NAT=1
37ccflags-y += -D CONFIG_RA_HW_NAT_TBL_32K=1
38ccflags-y += -D CONFIG_RA_HW_NAT_HASH1=1
39ccflags-y += -D CONFIG_HW_NAT_AUTO_MODE=1
40ccflags-y += -D CONFIG_PPE_MCAST=1
41ccflags-y += -D CONFIG_RA_HW_NAT_WIFI=1
42ccflags-y += -D CONFIG_RA_HW_NAT_WIFI_NEW_ARCH=1
43ccflags-y += -D CONFIG_ARCH_MT7622_WIFI_HW_NAT=1
44ccflags-y += -D CONFIG_PPE_MIB=1
45ccflags-y += -D CONFIG_HW_NAT_AUTO_MODE=1
46ccflags-y += -D CONFIG_ARCH_COLGIN=1
47ccflags-y += -D CONFIG_RA_HW_NAT_IPV6=1
48ccflags-y += -D CONFIG_SUPPORT_OPENWRT=1
49ccflags-y += -D CONFIG_QDMA_SUPPORT_QOS=1
50ccflags-y += -D CONFIG_HW_NAT_SW_DVFS=1
51ccflags-y += -D CONFIG_HNAT_V1=1
52ccflags-y += -D CONFIG_MTK_TINYSYS_MEDMCU_SUPPORT=1
53
54# Local config
55EXTRA_KCONFIG:= \
56 CONFIG_RA_NAT_HW=y \
57 CONFIG_RA_HW_NAT=m \
58 CONFIG_RA_HW_NAT_TBL_32K=y \
59 CONFIG_RA_HW_NAT_HASH1=y \
60 CONFIG_HW_NAT_AUTO_MODE=y \
61 CONFIG_PPE_MCAST=y \
62 CONFIG_RA_HW_NAT_WIFI=y \
63 CONFIG_RA_HW_NAT_WIFI_NEW_ARCH=y \
64 CONFIG_ARCH_MT7622_WIFI_HW_NAT=y \
65 CONFIG_PPE_MIB=y \
66 CONFIG_HW_NAT_AUTO_MODE=y \
67 CONFIG_ARCH_COLGIN=y \
68 CONFIG_RA_HW_NAT_IPV6=y \
69 CONFIG_SUPPORT_OPENWRT=y \
70 CONFIG_QDMA_SUPPORT_QOS=y \
71 CONFIG_HW_NAT_SW_DVFS=y \
72 CONFIG_HNAT_V1=y \
73 CONFIG_MTK_TINYSYS_MEDMCU_SUPPORT=y
74
75# Transfer local kernel config to compile option
76EXTRA_CFLAGS:= \
77 $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=m,%,$(filter %=m,$(EXTRA_KCONFIG)))) \
78 $(patsubst CONFIG_%, -DCONFIG_%=1, $(patsubst %=y,%,$(filter %=y,$(EXTRA_KCONFIG)))) \
79 $(patsubst CONFIG_%, -DCONFIG_%=0, $(patsubst %=n,%,$(filter %=n,$(EXTRA_KCONFIG)))) \
80
81$(info $$EXTRA_CFLAGS is [${EXTRA_CFLAGS}])
82
83###############################################################################
84# common_main
85###############################################################################
86ccflags-y += -I$(src)/hw_nat
87ccflags-y += -I$(src)/include
88###############################################################################
89
90$(MODULE_NAME)-objs += hw_nat/ra_nat.o
91$(MODULE_NAME)-objs += hw_nat/hwnat_ioctl.o
92$(MODULE_NAME)-objs += hw_nat/hnat_dbg_proc.o
93$(MODULE_NAME)-objs += hw_nat/hnat_common.o
94$(MODULE_NAME)-objs += hw_nat/foe_fdb.o
95$(MODULE_NAME)-objs += hw_nat/util.o
96$(MODULE_NAME)-objs += hw_nat/mcast_tbl.o
97
98#ifeq ($(CONFIG_HW_NAT_SW_DVFS),y)
99$(MODULE_NAME)-objs += hw_nat/hnat_swdvfs.o
100#endif
101
102#$(MODULE_NAME)-objs += hw_nat/hook_base.o
103#$(MODULE_NAME)-objs += hw_nat/hook_ext.o
104
105ifeq ($(CONFIG_PINCTRL_MT7622),y)
106 EXTRA_CFLAGS += -DCONFIG_ARCH_MT7622
107endif
108
109ifeq ($(CONFIG_RALINK),y)
110 EXTRA_CFLAGS += -DCONFIG_RALINK_MT7621
111endif
112
113ifeq ($(CONFIG_SOC_MT7621),y)
114 EXTRA_CFLAGS += -DCONFIG_RALINK_MT7621
115endif
116 EXTRA_CFLAGS += -DCONFIG_ARCH_COLGIN