• 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 := -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_CFLAGS += \
43        -Wall \
44        -Werror \
45        -Wno-constant-logical-operand \
46        -Wno-format \
47        -Wno-missing-field-initializers \
48        -Wno-sign-compare \
49        -Wno-sometimes-uninitialized \
50        -Wno-unused-parameter \
51        -Wno-unused-value \
52        -Wno-unused-variable \
53        -Wno-writable-strings \
54
55LOCAL_SRC_FILES := IPACM_Main.cpp \
56		IPACM_EvtDispatcher.cpp \
57		IPACM_Config.cpp \
58		IPACM_CmdQueue.cpp \
59		IPACM_Filtering.cpp \
60		IPACM_Routing.cpp \
61		IPACM_Header.cpp \
62		IPACM_Lan.cpp \
63		IPACM_Iface.cpp \
64		IPACM_Wlan.cpp \
65		IPACM_Wan.cpp \
66		IPACM_IfaceManager.cpp \
67		IPACM_Neighbor.cpp \
68		IPACM_Netlink.cpp \
69		IPACM_Xml.cpp \
70		IPACM_Conntrack_NATApp.cpp\
71		IPACM_ConntrackClient.cpp \
72		IPACM_ConntrackListener.cpp \
73		IPACM_Log.cpp \
74		IPACM_OffloadManager.cpp
75
76LOCAL_MODULE := ipacm
77LOCAL_MODULE_TAGS := optional
78
79LOCAL_SHARED_LIBRARIES := liboffloadhal
80LOCAL_SHARED_LIBRARIES += libipanat
81LOCAL_SHARED_LIBRARIES += libxml2
82LOCAL_SHARED_LIBRARIES += libnfnetlink
83LOCAL_SHARED_LIBRARIES += libnetfilter_conntrack
84LOCAL_SHARED_LIBRARIES += libhwbinder \
85                libhidlbase \
86                libhidltransport \
87                liblog \
88                libcutils \
89                libdl \
90                libbase \
91                libutils \
92                libhardware_legacy \
93                libhardware \
94                android.hardware.tetheroffload.config@1.0 \
95                android.hardware.tetheroffload.control@1.0
96
97LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_EXECUTABLES)
98
99include $(BUILD_EXECUTABLE)
100
101################################################################################
102
103define ADD_TEST
104
105include $(CLEAR_VARS)
106LOCAL_MODULE       := $1
107LOCAL_SRC_FILES    := $1
108LOCAL_MODULE_CLASS := ipacm
109LOCAL_MODULE_TAGS  := debug
110LOCAL_MODULE_PATH  := $(TARGET_OUT_VENDOR_ETC)
111include $(BUILD_PREBUILT)
112
113endef
114
115include $(CLEAR_VARS)
116LOCAL_MODULE := IPACM_cfg.xml
117LOCAL_MODULE_CLASS := ETC
118LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)
119LOCAL_MODULE_TAGS := optional
120LOCAL_SRC_FILES := $(LOCAL_MODULE)
121LOCAL_MODULE_OWNER := ipacm
122include $(BUILD_PREBUILT)
123
124endif # $(TARGET_ARCH)
125endif
126endif
127