1 LOCAL_PATH:= $(call my-dir) 2 3 include $(CLEAR_VARS) 4 5 LOCAL_MODULE_TAGS := optional 6 # DM Engine directories 7 DM_GLOBAL_SUBDIRS_A := \ 8 dmlib/dmengine/dm_ua/src \ 9 dmlib/dmengine/dm_persist/src \ 10 dmlib/dmengine/dm_tnm/src \ 11 dmlib/dmengine/dm_util/src \ 12 dmlib/dmtapi/native/src \ 13 dmlib/plugin/src \ 14 dmlib/notification_agent/src 15 16 DM_GLOBAL_SUBDIRS_B := \ 17 dmlib/dmengine/dm_security/src \ 18 dmlib/dmengine/dm_ssession/src \ 19 dmlib/dmengine/oma_toolkit/src 20 21 22 ifdef DM_NATIVE_HTTP 23 DM_GLOBAL_SUBDIRS_B += dmlib/dmengine/dm_transport/src 24 endif 25 26 DM_OMA_TOOLKIT_INCLUDES := \ 27 dmlib/dmengine/oma_toolkit/hdr \ 28 dmlib/dmengine/oma_toolkit/sml/xpt/hdr \ 29 dmlib/dmengine/oma_toolkit/sml/mgr/hdr \ 30 dmlib/dmengine/oma_toolkit/sml/ghdr \ 31 dmlib/dmengine/oma_toolkit/sml/lib/hdr \ 32 dmlib/dmengine/oma_toolkit/sml/wsm/hdr \ 33 dmlib/dmengine/oma_toolkit/sml/xlt/src \ 34 dmlib/dmengine/oma_toolkit/sml/xlt/hdr 35 36 DM_API_INCLUDES := \ 37 dmlib/api/common \ 38 dmlib/api/native \ 39 dmlib/api/native/plugin 40 41 # DM Engine source files 42 DM_ENGINE_SRC_FILES:= $(foreach dir,$(DM_GLOBAL_SUBDIRS_A),$(wildcard $(LOCAL_PATH)/$(dir)/*.*)) 43 DM_ENGINE_SRC_FILES:= $(subst $(LOCAL_PATH)/,,$(DM_ENGINE_SRC_FILES)) 44 DM_ENGINE_SRC_FILES += xpl/src/xpl_dm_Notifications.cpp 45 46 # DM Session source files 47 DM_SESSION_SRC_FILES:= $(foreach dir,$(DM_GLOBAL_SUBDIRS_B),$(wildcard $(LOCAL_PATH)/$(dir)/*.*)) 48 DM_SESSION_SRC_FILES:= $(subst $(LOCAL_PATH)/,,$(DM_SESSION_SRC_FILES)) 49 50 # DM XPL source files 51 DM_XPL_SRC_FILES := \ 52 xpl/src/xpl_Alert.cc \ 53 xpl/src/xpl_File.cc \ 54 xpl/src/xpl_Lib.cc \ 55 xpl/src/xpl_Memory.cc \ 56 xpl/src/xpl_Regex.cc \ 57 xpl/src/xpl_Time.cc \ 58 xpl/src/xpl_dm_Manager.cc \ 59 xpl/src/xpl_dm_Notifications.cc \ 60 xpl/src/dmAllocatedPointersPool.cc \ 61 xpl/src/dmMemory.cc \ 62 xpl/src/dmNewDataTypesValidation.cc \ 63 xpl/src/dmThreadHelper.cc \ 64 xpl/src/dmThreadQueue.cc \ 65 xpl/src/dmprofile.cc \ 66 67 ifdef DM_NATIVE_HTTP 68 DM_XPL_SRC_FILES += xpl/src/xpl_HTTP_socket.cc \ 69 xpl/src/dmSocketConnector.cc 70 else 71 DM_JNI_SRC_FILES:= jni/DMServiceConnection.cc \ 72 jni/DMServiceAlert.cc \ 73 jni/DMServiceMain.cc \ 74 dmlib/dmengine/dm_transport/src/dm_tpt_utils.c \ 75 jni/DMTreeManager.cc 76 LOCAL_SRC_FILES += $(DM_JNI_SRC_FILES) 77 endif 78 79 80 # DM source files 81 LOCAL_SRC_FILES += $(DM_ENGINE_SRC_FILES) 82 LOCAL_SRC_FILES += $(DM_SESSION_SRC_FILES) 83 LOCAL_SRC_FILES += $(DM_XPL_SRC_FILES) 84 85 ############################################# 86 # DM include files 87 DM_ENGINE_INCLUDES = $(foreach dir1,$(DM_GLOBAL_SUBDIRS_A), \ 88 $(subst /src,/hdr,$(dir1)) ) 89 DM_ENGINE_INCLUDES += $(foreach dir1,$(DM_GLOBAL_SUBDIRS_B), \ 90 $(subst /src,/hdr,$(dir1)) ) 91 92 DM_ENGINE_INCLUDES += dmlib/dmengine/dm_transport/hdr 93 DM_ENGINE_INCLUDES += jni 94 95 DM_ENGINE_INCLUDES += $(DM_API_INCLUDES) 96 DM_ENGINE_INCLUDES += $(DM_OMA_TOOLKIT_INCLUDES) 97 98 DM_ENGINE_INCLUDES := $(addprefix $(LOCAL_PATH)/, $(DM_ENGINE_INCLUDES)) 99 DM_XPL_INCLUDES := $(LOCAL_PATH)/xpl/hdr 100 101 102 LOCAL_C_INCLUDES += $(DM_ENGINE_INCLUDES) 103 LOCAL_C_INCLUDES += $(DM_XPL_INCLUDES) 104 LOCAL_C_INCLUDES += $(JNI_H_INCLUDE) 105 106 ############################################ 107 # general DM flags 108 DM_CFLAGS := -DVRTXMC \ 109 -DDM_ATOMIC_SUPPORTED \ 110 -DLOB_SUPPORT \ 111 -DXPL_LOG_LEVEL=XPL_LOG_Warn \ 112 -DDM_NO_LOCKING \ 113 -DDM_NO_SESSION_LIB \ 114 -DTNDS_SUPPORT 115 116 # for old ARM platform builds 117 #DM_ARM_CFLAGS := -DPLATFORM_EZX \ 118 # -DDMSyncMLLibVersion=\"03.00.00\" 119 120 # for x86/ARM builds on Android 121 DM_X86_CFLAGS = -DEZX_PORT -DPLATFORM_X86 -DPLATFORM_ANDROID \ 122 -DSYNCML_DM_DBG_USING_XML \ 123 -DDM_SUPPORT_AUTHPREF \ 124 -DNO_CAF \ 125 -DNO_OTHER_PLUGIN 126 127 # saved from LJ for future reference 128 #DM_CFLAGS += -DFEAT_DM_VERSION_FLEX -DDM_PERFORMANCE_ENABLED 129 130 # compile flags 131 LOCAL_CFLAGS += $(DM_CFLAGS) 132 LOCAL_CFLAGS += $(DM_X86_CFLAGS) 133 134 ifdef FTR_OMADM_SDMSERVICES 135 LOCAL_CFLAGS += -DDM_SDMSERVICES 136 endif 137 138 ifdef DM_NATIVE_HTTP 139 LOCAL_CFLAGS += -DDM_NATIVE_HTTP 140 endif 141 142 ifeq ($(TARGET_BUILD_TYPE),release) 143 LOCAL_CFLAGS += -DDM_UNITEST 144 endif 145 146 LOCAL_SHARED_LIBRARIES += \ 147 libandroid_runtime \ 148 liblog \ 149 libdl 150 151 LOCAL_MODULE := libdmengine 152 LOCAL_PRELINK_MODULE := false 153 #TARGET_BUILD_TYPE=debug 154 LOCAL_STRIP_MODULE := true 155 156 LOCAL_REQUIRED_MODULES := dmt_data 157 LOCAL_CPP_EXTENSION := .cc 158 159 LOCAL_MULTILIB := 32 160 161 include $(BUILD_SHARED_LIBRARY) 162 163 ifeq ($(TARGET_BUILD_TYPE),release) 164 include $(CLEAR_VARS) 165 include $(call all-makefiles-under,$(LOCAL_PATH)/../unitest) 166 endif 167 168 # This finds and builds the test apk as well, so a single make does both. 169 include $(CLEAR_VARS) 170 include $(call all-makefiles-under,$(LOCAL_PATH)) 171