1LOCAL_PATH:= $(call my-dir)
2
3# merge all required services into one jar
4# ============================================================
5include $(CLEAR_VARS)
6
7LOCAL_MODULE := services
8LOCAL_DEX_PREOPT_APP_IMAGE := true
9LOCAL_DEX_PREOPT_GENERATE_PROFILE := true
10LOCAL_DEX_PREOPT_PROFILE_CLASS_LISTING := $(LOCAL_PATH)/profile-classes
11
12LOCAL_SRC_FILES := $(call all-java-files-under,java)
13
14# EventLogTags files.
15LOCAL_SRC_FILES += \
16        core/java/com/android/server/EventLogTags.logtags
17
18# Uncomment to enable output of certain warnings (deprecated, unchecked)
19# LOCAL_JAVACFLAGS := -Xlint
20
21# Services that will be built as part of services.jar
22# These should map to directory names relative to this
23# Android.mk.
24services := \
25    core \
26    accessibility \
27    appwidget \
28    autofill \
29    backup \
30    companion \
31    coverage\
32    devicepolicy \
33    midi \
34    net \
35    print \
36    restrictions \
37    retaildemo \
38    usage \
39    usb \
40    voiceinteraction
41
42# The convention is to name each service module 'services.$(module_name)'
43LOCAL_STATIC_JAVA_LIBRARIES := $(addprefix services.,$(services)) \
44    android.hidl.base-V1.0-java-static \
45    android.hardware.biometrics.fingerprint-V2.1-java-static
46
47ifeq ($(EMMA_INSTRUMENT_FRAMEWORK),true)
48LOCAL_EMMA_INSTRUMENT := true
49endif
50
51include $(BUILD_JAVA_LIBRARY)
52
53# native library
54# =============================================================
55
56include $(CLEAR_VARS)
57
58LOCAL_SRC_FILES :=
59LOCAL_SHARED_LIBRARIES :=
60
61# include all the jni subdirs to collect their sources
62include $(wildcard $(LOCAL_PATH)/*/jni/Android.mk)
63
64LOCAL_CFLAGS += -DEGL_EGLEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES
65
66LOCAL_MODULE:= libandroid_servers
67
68include $(BUILD_SHARED_LIBRARY)
69
70# =============================================================
71
72ifeq (,$(ONE_SHOT_MAKEFILE))
73# A full make is happening, so make everything.
74include $(call all-makefiles-under,$(LOCAL_PATH))
75else
76# If we ran an mm[m] command, we still want to build the individual
77# services that we depend on. This differs from the above condition
78# by only including service makefiles and not any tests or other
79# modules.
80include $(patsubst %,$(LOCAL_PATH)/%/Android.mk,$(services))
81endif
82
83