• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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