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_MODULE_TAGS := optional 80 81LOCAL_SHARED_LIBRARIES := liboffloadhal 82LOCAL_SHARED_LIBRARIES += libipanat 83LOCAL_SHARED_LIBRARIES += libxml2 84LOCAL_SHARED_LIBRARIES += libnfnetlink 85LOCAL_SHARED_LIBRARIES += libnetfilter_conntrack 86LOCAL_SHARED_LIBRARIES += \ 87 libhidlbase \ 88 liblog \ 89 libcutils \ 90 libdl \ 91 libbase \ 92 libutils \ 93 libhardware_legacy \ 94 libhardware \ 95 android.hardware.tetheroffload.config@1.0 \ 96 android.hardware.tetheroffload.control@1.0 97 98LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES) 99 100include $(BUILD_EXECUTABLE) 101 102################################################################################ 103 104define ADD_TEST 105 106include $(CLEAR_VARS) 107LOCAL_MODULE := $1 108LOCAL_SRC_FILES := $1 109LOCAL_MODULE_CLASS := ipacm 110LOCAL_MODULE_TAGS := debug 111LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) 112include $(BUILD_PREBUILT) 113 114endef 115 116include $(CLEAR_VARS) 117LOCAL_MODULE := IPACM_cfg.xml 118LOCAL_MODULE_CLASS := ETC 119LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC) 120LOCAL_MODULE_TAGS := optional 121LOCAL_SRC_FILES := $(LOCAL_MODULE) 122LOCAL_MODULE_OWNER := ipacm 123include $(BUILD_PREBUILT) 124 125endif # $(TARGET_ARCH) 126endif 127endif 128