1LOCAL_PATH:= $(call my-dir) 2include $(CLEAR_VARS) 3 4LOCAL_CFLAGS += -DHAVE_CONFIG_H -DKHTML_NO_EXCEPTIONS -DGKWQ_NO_JAVA 5LOCAL_CFLAGS += -DNO_SUPPORT_JS_BINDING -DQT_NO_WHEELEVENT -DKHTML_NO_XBL 6LOCAL_CFLAGS += -U__APPLE__ 7LOCAL_CFLAGS += -Wno-unused-parameter 8LOCAL_CFLAGS += -Wno-non-virtual-dtor 9LOCAL_CFLAGS += -Wno-maybe-uninitialized -Wno-parentheses 10LOCAL_CPPFLAGS += -Wno-conversion-null 11 12ifeq ($(TARGET_ARCH), arm) 13 LOCAL_CFLAGS += -DPACKED="__attribute__ ((packed))" 14else 15 LOCAL_CFLAGS += -DPACKED="" 16endif 17 18ifneq ($(ENABLE_CPUSETS),) 19 LOCAL_CFLAGS += -DENABLE_CPUSETS 20endif 21 22# TODO: Linear blending should be enabled by default, but we are 23# TODO: making it an opt-in while it's a work in progress 24# TODO: The final test should be: 25# TODO: ifneq ($(TARGET_ENABLE_LINEAR_BLENDING),false) 26ifeq ($(TARGET_ENABLE_LINEAR_BLENDING),true) 27 LOCAL_CFLAGS += -DANDROID_ENABLE_LINEAR_BLENDING 28endif 29 30LOCAL_CFLAGS += -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES 31 32LOCAL_CFLAGS += -DU_USING_ICU_NAMESPACE=0 33 34LOCAL_SRC_FILES:= \ 35 AndroidRuntime.cpp \ 36 com_android_internal_content_NativeLibraryHelper.cpp \ 37 com_google_android_gles_jni_EGLImpl.cpp \ 38 com_google_android_gles_jni_GLImpl.cpp.arm \ 39 android_app_Activity.cpp \ 40 android_app_ApplicationLoaders.cpp \ 41 android_app_NativeActivity.cpp \ 42 android_app_admin_SecurityLog.cpp \ 43 android_opengl_EGL14.cpp \ 44 android_opengl_EGLExt.cpp \ 45 android_opengl_GLES10.cpp \ 46 android_opengl_GLES10Ext.cpp \ 47 android_opengl_GLES11.cpp \ 48 android_opengl_GLES11Ext.cpp \ 49 android_opengl_GLES20.cpp \ 50 android_opengl_GLES30.cpp \ 51 android_opengl_GLES31.cpp \ 52 android_opengl_GLES31Ext.cpp \ 53 android_opengl_GLES32.cpp \ 54 android_database_CursorWindow.cpp \ 55 android_database_SQLiteCommon.cpp \ 56 android_database_SQLiteConnection.cpp \ 57 android_database_SQLiteGlobal.cpp \ 58 android_database_SQLiteDebug.cpp \ 59 android_graphics_drawable_AnimatedVectorDrawable.cpp \ 60 android_graphics_drawable_VectorDrawable.cpp \ 61 android_view_DisplayEventReceiver.cpp \ 62 android_view_DisplayListCanvas.cpp \ 63 android_view_HardwareLayer.cpp \ 64 android_view_InputChannel.cpp \ 65 android_view_InputDevice.cpp \ 66 android_view_InputEventReceiver.cpp \ 67 android_view_InputEventSender.cpp \ 68 android_view_InputQueue.cpp \ 69 android_view_KeyCharacterMap.cpp \ 70 android_view_KeyEvent.cpp \ 71 android_view_MotionEvent.cpp \ 72 android_view_PointerIcon.cpp \ 73 android_view_RenderNode.cpp \ 74 android_view_RenderNodeAnimator.cpp \ 75 android_view_Surface.cpp \ 76 android_view_SurfaceControl.cpp \ 77 android_view_SurfaceSession.cpp \ 78 android_view_TextureView.cpp \ 79 android_view_ThreadedRenderer.cpp \ 80 android_view_VelocityTracker.cpp \ 81 android_text_AndroidCharacter.cpp \ 82 android_text_AndroidBidi.cpp \ 83 android_text_StaticLayout.cpp \ 84 android_os_Debug.cpp \ 85 android_os_GraphicsEnvironment.cpp \ 86 android_os_HwBinder.cpp \ 87 android_os_HwBlob.cpp \ 88 android_os_HwParcel.cpp \ 89 android_os_HwRemoteBinder.cpp \ 90 android_os_MemoryFile.cpp \ 91 android_os_MessageQueue.cpp \ 92 android_os_Parcel.cpp \ 93 android_os_SELinux.cpp \ 94 android_os_seccomp.cpp \ 95 android_os_SystemClock.cpp \ 96 android_os_SystemProperties.cpp \ 97 android_os_Trace.cpp \ 98 android_os_UEventObserver.cpp \ 99 android_os_VintfObject.cpp \ 100 android_os_VintfRuntimeInfo.cpp \ 101 android_net_LocalSocketImpl.cpp \ 102 android_net_NetUtils.cpp \ 103 android_net_TrafficStats.cpp \ 104 android_nio_utils.cpp \ 105 android_util_AssetManager.cpp \ 106 android_util_Binder.cpp \ 107 android_util_EventLog.cpp \ 108 android_util_MemoryIntArray.cpp \ 109 android_util_Log.cpp \ 110 android_util_PathParser.cpp \ 111 android_util_Process.cpp \ 112 android_util_StringBlock.cpp \ 113 android_util_XmlBlock.cpp \ 114 android_util_jar_StrictJarFile.cpp \ 115 android_graphics_Canvas.cpp \ 116 android_graphics_Picture.cpp \ 117 android/graphics/Bitmap.cpp \ 118 android/graphics/BitmapFactory.cpp \ 119 android/graphics/Camera.cpp \ 120 android/graphics/CanvasProperty.cpp \ 121 android/graphics/ColorFilter.cpp \ 122 android/graphics/DrawFilter.cpp \ 123 android/graphics/FontFamily.cpp \ 124 android/graphics/FontUtils.cpp \ 125 android/graphics/CreateJavaOutputStreamAdaptor.cpp \ 126 android/graphics/GIFMovie.cpp \ 127 android/graphics/GraphicBuffer.cpp \ 128 android/graphics/Graphics.cpp \ 129 android/graphics/HarfBuzzNGFaceSkia.cpp \ 130 android/graphics/Interpolator.cpp \ 131 android/graphics/MaskFilter.cpp \ 132 android/graphics/Matrix.cpp \ 133 android/graphics/Movie.cpp \ 134 android/graphics/MovieImpl.cpp \ 135 android/graphics/NinePatch.cpp \ 136 android/graphics/NinePatchPeeker.cpp \ 137 android/graphics/Paint.cpp \ 138 android/graphics/Path.cpp \ 139 android/graphics/PathMeasure.cpp \ 140 android/graphics/PathEffect.cpp \ 141 android/graphics/Picture.cpp \ 142 android/graphics/BitmapRegionDecoder.cpp \ 143 android/graphics/Region.cpp \ 144 android/graphics/Shader.cpp \ 145 android/graphics/SurfaceTexture.cpp \ 146 android/graphics/Typeface.cpp \ 147 android/graphics/Utils.cpp \ 148 android/graphics/YuvToJpegEncoder.cpp \ 149 android/graphics/pdf/PdfDocument.cpp \ 150 android/graphics/pdf/PdfEditor.cpp \ 151 android/graphics/pdf/PdfRenderer.cpp \ 152 android/graphics/pdf/PdfUtils.cpp \ 153 android_media_AudioRecord.cpp \ 154 android_media_AudioSystem.cpp \ 155 android_media_AudioTrack.cpp \ 156 android_media_DeviceCallback.cpp \ 157 android_media_JetPlayer.cpp \ 158 android_media_RemoteDisplay.cpp \ 159 android_media_ToneGenerator.cpp \ 160 android_hardware_Camera.cpp \ 161 android_hardware_camera2_CameraMetadata.cpp \ 162 android_hardware_camera2_legacy_LegacyCameraDevice.cpp \ 163 android_hardware_camera2_legacy_PerfMeasurement.cpp \ 164 android_hardware_camera2_DngCreator.cpp \ 165 android_hardware_display_DisplayViewport.cpp \ 166 android_hardware_HardwareBuffer.cpp \ 167 android_hardware_Radio.cpp \ 168 android_hardware_SensorManager.cpp \ 169 android_hardware_SerialPort.cpp \ 170 android_hardware_SoundTrigger.cpp \ 171 android_hardware_UsbDevice.cpp \ 172 android_hardware_UsbDeviceConnection.cpp \ 173 android_hardware_UsbRequest.cpp \ 174 android_hardware_location_ActivityRecognitionHardware.cpp \ 175 android_util_FileObserver.cpp \ 176 android/opengl/poly_clip.cpp.arm \ 177 android/opengl/util.cpp \ 178 android_server_NetworkManagementSocketTagger.cpp \ 179 android_server_Watchdog.cpp \ 180 android_ddm_DdmHandleNativeHeap.cpp \ 181 android_backup_BackupDataInput.cpp \ 182 android_backup_BackupDataOutput.cpp \ 183 android_backup_FileBackupHelperBase.cpp \ 184 android_backup_BackupHelperDispatcher.cpp \ 185 android_app_backup_FullBackup.cpp \ 186 android_content_res_ObbScanner.cpp \ 187 android_content_res_Configuration.cpp \ 188 android_animation_PropertyValuesHolder.cpp \ 189 com_android_internal_net_NetworkStatsFactory.cpp \ 190 com_android_internal_os_FuseAppLoop.cpp \ 191 com_android_internal_os_PathClassLoaderFactory.cpp \ 192 com_android_internal_os_Zygote.cpp \ 193 com_android_internal_util_VirtualRefBasePtr.cpp \ 194 com_android_internal_view_animation_NativeInterpolatorFactoryHelper.cpp \ 195 hwbinder/EphemeralStorage.cpp \ 196 fd_utils.cpp \ 197 198LOCAL_C_INCLUDES += \ 199 $(LOCAL_PATH)/include \ 200 $(JNI_H_INCLUDE) \ 201 $(LOCAL_PATH)/android/graphics \ 202 $(LOCAL_PATH)/../../libs/hwui \ 203 $(LOCAL_PATH)/../../../native/vulkan/include \ 204 $(call include-path-for, bluedroid) \ 205 $(call include-path-for, libhardware)/hardware \ 206 $(call include-path-for, libhardware_legacy)/hardware_legacy \ 207 $(TOP)/frameworks/base/media/jni \ 208 $(TOP)/frameworks/rs/cpp \ 209 $(TOP)/frameworks/rs \ 210 $(TOP)/system/core/base/include \ 211 $(TOP)/system/core/include \ 212 $(TOP)/system/core/libappfuse/include \ 213 $(TOP)/system/media/camera/include \ 214 $(TOP)/system/media/private/camera/include \ 215 $(TOP)/system/netd/include \ 216 external/giflib \ 217 external/pdfium/public \ 218 external/skia/include/private \ 219 external/skia/src/codec \ 220 external/skia/src/core \ 221 external/skia/src/effects \ 222 external/skia/src/image \ 223 external/skia/src/images \ 224 external/sqlite/dist \ 225 external/sqlite/android \ 226 external/tremor/Tremor \ 227 external/harfbuzz_ng/src \ 228 libcore/include \ 229 $(call include-path-for, audio-utils) \ 230 frameworks/minikin/include \ 231 external/freetype/include 232# TODO: clean up Minikin so it doesn't need the freetype include 233 234LOCAL_STATIC_LIBRARIES := \ 235 libgif \ 236 libseccomp_policy \ 237 libselinux \ 238 libcrypto \ 239 libgrallocusage \ 240 241LOCAL_SHARED_LIBRARIES := \ 242 libmemtrack \ 243 libandroidfw \ 244 libappfuse \ 245 libbase \ 246 libnativehelper \ 247 liblog \ 248 libcutils \ 249 libdebuggerd_client \ 250 libutils \ 251 libbinder \ 252 libui \ 253 libgui \ 254 libsensor \ 255 libinput \ 256 libcamera_client \ 257 libcamera_metadata \ 258 libskia \ 259 libsqlite \ 260 libEGL \ 261 libGLESv1_CM \ 262 libGLESv2 \ 263 libvulkan \ 264 libziparchive \ 265 libETC1 \ 266 libhardware \ 267 libhardware_legacy \ 268 libselinux \ 269 libicuuc \ 270 libmedia \ 271 libaudioclient \ 272 libjpeg \ 273 libusbhost \ 274 libharfbuzz_ng \ 275 libz \ 276 libpdfium \ 277 libimg_utils \ 278 libnetd_client \ 279 libradio \ 280 libsoundtrigger \ 281 libminikin \ 282 libprocessgroup \ 283 libnativebridge \ 284 libradio_metadata \ 285 libnativeloader \ 286 libmemunreachable \ 287 libhidlbase \ 288 libhidltransport \ 289 libhwbinder \ 290 libvintf \ 291 libnativewindow \ 292 293LOCAL_SHARED_LIBRARIES += \ 294 libhwui \ 295 libdl \ 296 297# our headers include libnativewindow's public headers 298LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := \ 299 libnativewindow \ 300 301# we need to access the private Bionic header 302# <bionic_tls.h> in com_google_android_gles_jni_GLImpl.cpp 303LOCAL_C_INCLUDES += bionic/libc/private 304 305LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include 306 307# AndroidRuntime.h depends on nativehelper/jni.h 308LOCAL_EXPORT_C_INCLUDE_DIRS += libnativehelper/include 309 310LOCAL_MODULE:= libandroid_runtime 311 312# -Wno-unknown-pragmas: necessary for Clang as the GL bindings need to turn 313# off a GCC warning that Clang doesn't know. 314LOCAL_CFLAGS += -Wall -Werror -Wno-error=deprecated-declarations -Wunused -Wunreachable-code \ 315 -Wno-unknown-pragmas 316 317# -Wno-c++11-extensions: Clang warns about Skia using the C++11 override keyword, but this project 318# is not being compiled with that level. Remove once this has changed. 319LOCAL_CLANG_CFLAGS += -Wno-c++11-extensions 320 321ifneq (,$(filter userdebug eng,$(TARGET_BUILD_VARIANT))) 322LOCAL_CFLAGS += -D__ANDROID_DEBUGGABLE__ 323endif 324ifneq (,$(filter true, $(PRODUCT_FULL_TREBLE))) 325LOCAL_CFLAGS += -D__ANDROID_TREBLE__ 326endif 327 328include $(BUILD_SHARED_LIBRARY) 329 330include $(call all-makefiles-under,$(LOCAL_PATH)) 331