1BOARD_PLATFORM_LIST := test
2BOARD_IPAv3_LIST := msm8998
3BOARD_IPAv3_LIST += sdm845
4ifneq ($(call is-board-platform-in-list,$(BOARD_PLATFORM_LIST)),true)
5ifneq (,$(filter $(QCOM_BOARD_PLATFORMS),$(TARGET_BOARD_PLATFORM)))
6ifneq (, $(filter aarch64 arm arm64, $(TARGET_ARCH)))
7
8LOCAL_PATH := $(call my-dir)
9
10include $(CLEAR_VARS)
11
12LOCAL_C_INCLUDES := $(LOCAL_PATH)/../src
13LOCAL_C_INCLUDES += $(LOCAL_PATH)/../inc
14LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../ipanat/inc
15LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../hal/inc
16ifeq ($(call is-platform-sdk-version-at-least,20),true)
17LOCAL_C_INCLUDES += external/icu/icu4c/source/common
18else
19LOCAL_C_INCLUDES += external/icu4c/common
20endif
21#LOCAL_C_INCLUDES += external/dhcpcd
22LOCAL_C_INCLUDES += external/libxml2/include
23LOCAL_C_INCLUDES += external/libnetfilter_conntrack/include
24LOCAL_C_INCLUDES += external/libnfnetlink/include
25
26ifeq ($(TARGET_COMPILE_WITH_MSM_KERNEL),true)
27LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
28LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
29endif
30
31LOCAL_CFLAGS += -DFEATURE_IPA_ANDROID
32LOCAL_CFLAGS += -DFEATURE_IPACM_HAL -Wall -Werror
33ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
34LOCAL_CFLAGS += -DDEBUG
35endif
36
37ifeq ($(call is-board-platform-in-list,$(BOARD_IPAv3_LIST)),true)
38LOCAL_CFLAGS += -DFEATURE_IPA_V3
39endif
40
41LOCAL_CFLAGS += \
42        -Wall \
43        -Werror \
44        -Wno-constant-logical-operand \
45        -Wno-format \
46        -Wno-missing-field-initializers \
47        -Wno-sign-compare \
48        -Wno-sometimes-uninitialized \
49        -Wno-unused-parameter \
50        -Wno-unused-value \
51        -Wno-unused-variable \
52        -Wno-writable-strings \
53
54# Allow implicit fallthroughs in IPACM_Main.cpp until they are fixed.
55LOCAL_CFLAGS += -Wno-implicit-fallthrough
56
57LOCAL_SRC_FILES := IPACM_Main.cpp \
58		IPACM_EvtDispatcher.cpp \
59		IPACM_Config.cpp \
60		IPACM_CmdQueue.cpp \
61		IPACM_Filtering.cpp \
62		IPACM_Routing.cpp \
63		IPACM_Header.cpp \
64		IPACM_Lan.cpp \
65		IPACM_Iface.cpp \
66		IPACM_Wlan.cpp \
67		IPACM_Wan.cpp \
68		IPACM_IfaceManager.cpp \
69		IPACM_Neighbor.cpp \
70		IPACM_Netlink.cpp \
71		IPACM_Xml.cpp \
72		IPACM_Conntrack_NATApp.cpp\
73		IPACM_ConntrackClient.cpp \
74		IPACM_ConntrackListener.cpp \
75		IPACM_Log.cpp \
76		IPACM_OffloadManager.cpp
77
78LOCAL_MODULE := ipacm
79LOCAL_LICENSE_KINDS := SPDX-license-identifier-BSD
80LOCAL_LICENSE_CONDITIONS := notice
81LOCAL_MODULE_TAGS := optional
82
83LOCAL_SHARED_LIBRARIES := liboffloadhal
84LOCAL_SHARED_LIBRARIES += libipanat
85LOCAL_SHARED_LIBRARIES += libxml2
86LOCAL_SHARED_LIBRARIES += libnfnetlink
87LOCAL_SHARED_LIBRARIES += libnetfilter_conntrack
88LOCAL_SHARED_LIBRARIES += \
89                libhidlbase \
90                liblog \
91                libcutils \
92                libdl \
93                libbase \
94                libutils \
95                libhardware_legacy \
96                libhardware \
97                android.hardware.tetheroffload.config@1.0 \
98                android.hardware.tetheroffload.control@1.0
99
100LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
101
102include $(BUILD_EXECUTABLE)
103
104################################################################################
105
106define ADD_TEST
107
108include $(CLEAR_VARS)
109LOCAL_MODULE       := $1
110LOCAL_LICENSE_KINDS := SPDX-license-identifier-BSD
111LOCAL_LICENSE_CONDITIONS := notice
112LOCAL_SRC_FILES    := $1
113LOCAL_MODULE_CLASS := ipacm
114LOCAL_MODULE_TAGS  := debug
115LOCAL_MODULE_PATH  := $(TARGET_OUT_VENDOR_ETC)
116include $(BUILD_PREBUILT)
117
118endef
119
120include $(CLEAR_VARS)
121LOCAL_MODULE := IPACM_cfg.xml
122LOCAL_LICENSE_KINDS := SPDX-license-identifier-BSD
123LOCAL_LICENSE_CONDITIONS := notice
124LOCAL_MODULE_CLASS := ETC
125LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
126LOCAL_MODULE_TAGS := optional
127LOCAL_SRC_FILES := $(LOCAL_MODULE)
128LOCAL_MODULE_OWNER := ipacm
129include $(BUILD_PREBUILT)
130
131endif # $(TARGET_ARCH)
132endif
133endif
134