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 := -v 32LOCAL_CFLAGS += -DFEATURE_IPA_ANDROID 33LOCAL_CFLAGS += -DFEATURE_IPACM_HAL -Wall -Werror 34ifneq (,$(filter userdebug eng, $(TARGET_BUILD_VARIANT))) 35LOCAL_CFLAGS += -DDEBUG 36endif 37 38ifeq ($(call is-board-platform-in-list,$(BOARD_IPAv3_LIST)),true) 39LOCAL_CFLAGS += -DFEATURE_IPA_V3 40endif 41 42LOCAL_SRC_FILES := IPACM_Main.cpp \ 43 IPACM_EvtDispatcher.cpp \ 44 IPACM_Config.cpp \ 45 IPACM_CmdQueue.cpp \ 46 IPACM_Filtering.cpp \ 47 IPACM_Routing.cpp \ 48 IPACM_Header.cpp \ 49 IPACM_Lan.cpp \ 50 IPACM_Iface.cpp \ 51 IPACM_Wlan.cpp \ 52 IPACM_Wan.cpp \ 53 IPACM_IfaceManager.cpp \ 54 IPACM_Neighbor.cpp \ 55 IPACM_Netlink.cpp \ 56 IPACM_Xml.cpp \ 57 IPACM_Conntrack_NATApp.cpp\ 58 IPACM_ConntrackClient.cpp \ 59 IPACM_ConntrackListener.cpp \ 60 IPACM_Log.cpp \ 61 IPACM_OffloadManager.cpp 62 63LOCAL_MODULE := ipacm 64LOCAL_MODULE_TAGS := optional 65 66LOCAL_SHARED_LIBRARIES := liboffloadhal 67LOCAL_SHARED_LIBRARIES += libipanat 68LOCAL_SHARED_LIBRARIES += libxml2 69LOCAL_SHARED_LIBRARIES += libnfnetlink 70LOCAL_SHARED_LIBRARIES += libnetfilter_conntrack 71LOCAL_SHARED_LIBRARIES += libhwbinder \ 72 libhidlbase \ 73 libhidltransport \ 74 liblog \ 75 libcutils \ 76 libdl \ 77 libbase \ 78 libutils \ 79 libhardware_legacy \ 80 libhardware \ 81 android.hardware.tetheroffload.config@1.0 \ 82 android.hardware.tetheroffload.control@1.0 83 84LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) 85 86include $(BUILD_EXECUTABLE) 87 88################################################################################ 89 90define ADD_TEST 91 92include $(CLEAR_VARS) 93LOCAL_MODULE := $1 94LOCAL_SRC_FILES := $1 95LOCAL_MODULE_CLASS := ipacm 96LOCAL_MODULE_TAGS := debug 97LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) 98include $(BUILD_PREBUILT) 99 100endef 101 102include $(CLEAR_VARS) 103LOCAL_MODULE := IPACM_cfg.xml 104LOCAL_MODULE_CLASS := ETC 105LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) 106LOCAL_MODULE_TAGS := optional 107LOCAL_SRC_FILES := $(LOCAL_MODULE) 108LOCAL_MODULE_OWNER := ipacm 109include $(BUILD_PREBUILT) 110 111endif # $(TARGET_ARCH) 112endif 113endif 114