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