1BOARD_PLATFORM_LIST := test
2BOARD_PLATFORM_LIST += msmnile
3BOARD_IPAv3_LIST := msm8998
4BOARD_IPAv3_LIST += sdm845
5BOARD_IPAv3_LIST += sdm710
6ifneq ($(call is-board-platform-in-list,$(BOARD_PLATFORM_LIST)),true)
7ifneq (,$(filter $(QCOM_BOARD_PLATFORMS),$(TARGET_BOARD_PLATFORM)))
8ifneq (, $(filter aarch64 arm arm64, $(TARGET_ARCH)))
9
10LOCAL_PATH := $(call my-dir)
11
12include $(CLEAR_VARS)
13
14LOCAL_C_INCLUDES := $(LOCAL_PATH)/../src
15LOCAL_C_INCLUDES += $(LOCAL_PATH)/../inc
16
17LOCAL_C_INCLUDES += $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include
18LOCAL_ADDITIONAL_DEPENDENCIES := $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr
19
20LOCAL_CFLAGS += -DFEATURE_IPA_ANDROID
21LOCAL_CFLAGS += -DFEATURE_IPACM_HAL -Wall -Werror -Wno-error=macro-redefined -Wno-enum-compare
22ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT)))
23LOCAL_CFLAGS += -DDEBUG
24endif
25
26ifeq ($(call is-board-platform-in-list,$(BOARD_IPAv3_LIST)),true)
27LOCAL_CFLAGS += -DFEATURE_IPA_V3
28endif
29
30filetoadd = bionic/libc/kernel/arch-arm/asm/posix_types.h
31LOCAL_CFLAGS += $(shell if [ -a $(filetoadd) ] ; then echo -include $(filetoadd) ; fi ;)
32filetoadd = bionic/libc/kernel/arch-arm/asm/byteorder.h
33LOCAL_CFLAGS += $(shell if [ -a $(filetoadd) ] ; then echo -include $(filetoadd) ; fi ;)
34
35# Allow warnings in IPACM_Main.cpp until they are fixed.
36LOCAL_CFLAGS += -Wno-error=implicit-fallthrough
37
38LOCAL_SRC_FILES := IPACM_Main.cpp \
39		IPACM_EvtDispatcher.cpp \
40		IPACM_Config.cpp \
41		IPACM_CmdQueue.cpp \
42		IPACM_Filtering.cpp \
43		IPACM_Routing.cpp \
44		IPACM_Header.cpp \
45		IPACM_Lan.cpp \
46		IPACM_Iface.cpp \
47		IPACM_Wlan.cpp \
48		IPACM_Wan.cpp \
49		IPACM_IfaceManager.cpp \
50		IPACM_Neighbor.cpp \
51		IPACM_Netlink.cpp \
52		IPACM_Xml.cpp \
53		IPACM_Conntrack_NATApp.cpp\
54		IPACM_ConntrackClient.cpp \
55		IPACM_ConntrackListener.cpp \
56		IPACM_Log.cpp \
57		IPACM_OffloadManager.cpp
58
59LOCAL_MODULE := ipacm
60LOCAL_LICENSE_KINDS := SPDX-license-identifier-BSD
61LOCAL_LICENSE_CONDITIONS := notice
62LOCAL_CLANG := false
63LOCAL_MODULE_TAGS := optional
64
65LOCAL_SHARED_LIBRARIES := liboffloadhal
66LOCAL_SHARED_LIBRARIES += libipanat
67LOCAL_SHARED_LIBRARIES += libxml2
68LOCAL_SHARED_LIBRARIES += libnfnetlink
69LOCAL_SHARED_LIBRARIES += libnetfilter_conntrack
70LOCAL_SHARED_LIBRARIES += \
71                libhidlbase \
72                liblog \
73                libcutils \
74                libdl \
75                libbase \
76                libutils \
77                libhardware_legacy \
78                libhardware \
79                android.hardware.tetheroffload.config@1.0 \
80                android.hardware.tetheroffload.control@1.0
81
82LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
83
84LOCAL_CLANG := true
85include $(BUILD_EXECUTABLE)
86
87################################################################################
88
89define ADD_TEST
90
91include $(CLEAR_VARS)
92LOCAL_MODULE       := $1
93LOCAL_LICENSE_KINDS := SPDX-license-identifier-BSD
94LOCAL_LICENSE_CONDITIONS := notice
95LOCAL_SRC_FILES    := $1
96LOCAL_MODULE_CLASS := ipacm
97LOCAL_MODULE_TAGS  := debug
98LOCAL_MODULE_PATH  := $(TARGET_OUT_ETC)
99include $(BUILD_PREBUILT)
100
101endef
102
103include $(CLEAR_VARS)
104LOCAL_MODULE := IPACM_cfg.xml
105LOCAL_LICENSE_KINDS := SPDX-license-identifier-BSD
106LOCAL_LICENSE_CONDITIONS := notice
107LOCAL_MODULE_CLASS := ETC
108LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
109LOCAL_MODULE_TAGS := optional
110LOCAL_SRC_FILES := $(LOCAL_MODULE)
111LOCAL_MODULE_OWNER := ipacm
112include $(BUILD_PREBUILT)
113
114endif # $(TARGET_ARCH)
115endif
116endif
117