f09e59eb52
This allows to compile dex targeted java sources using Jack and Jill. Default is still to compile with the legacy toolchain. Default can be switched to the new toolchain by setting environement variable: export ANDROID_COMPILE_WITH_JACK=true Toolchain can also be forced for one module by defining LOCAL_JACK_ENABLED:=full # disabled, full, incremental in the mk portion defining the module. Jack execution environement can be controlled with: Global variable ANDROID_JACK_VM allow to change the jvm executing Jack. Global variable ANDROID_JACK_VM_ARGS allows to change default args given to the jvm. Global variable ANDROID_JACK_EXTRA_ARGS allows to define some default args to give to Jack LOCAL_JACK_VM_ARGS allows to override default args given to the jvm for the module. LOCAL_JACK_EXTRA_ARGS allows to override default args passed to Jack. This includes cherry-picks of the following changes:b4c49cba57
22c3fa6d73
138768c1bb
5dd3e1d312
83d5d04047
8bc90fd2d6
140274707e
0fbc9ff2a2
833b427d72
f9a27f45b4
2809666941
37822c443d
c6b44d43c3
d2a76c14bf
06744f60fc
95573d5036
b821391614
2794e7b582
801f2c44d0
c76d99dca1
f528e132d6
76a5e0bd1a
e25b3984ff
Partially, only Jack related parts werekeptec46a3b71f
abee3a9f41
77cbe10fd9
daf07db4cd
b6bfb5893a
Ie all Jack related changes untillb6bfb5893a
excepta96cc59ab5
"Use Jack by default" Change-Id: If9d47ef1c4fd1e6765ad2a47d816c1ad3cfab0e3
300 lines
8.6 KiB
Makefile
300 lines
8.6 KiB
Makefile
###########################################################
|
|
## Clear out values of all variables used by rule templates.
|
|
###########################################################
|
|
|
|
LOCAL_MODULE:=
|
|
LOCAL_MODULE_PATH:=
|
|
LOCAL_MODULE_RELATIVE_PATH :=
|
|
LOCAL_MODULE_STEM:=
|
|
LOCAL_DONT_CHECK_MODULE:=
|
|
LOCAL_CHECKED_MODULE:=
|
|
LOCAL_BUILT_MODULE:=
|
|
LOCAL_BUILT_MODULE_STEM:=
|
|
OVERRIDE_BUILT_MODULE_PATH:=
|
|
LOCAL_INSTALLED_MODULE:=
|
|
LOCAL_INSTALLED_MODULE_STEM:=
|
|
LOCAL_PICKUP_FILES:=
|
|
LOCAL_UNINSTALLABLE_MODULE:=
|
|
LOCAL_INTERMEDIATE_TARGETS:=
|
|
LOCAL_UNSTRIPPED_PATH:=
|
|
LOCAL_MODULE_CLASS:=
|
|
LOCAL_MODULE_SUFFIX:=
|
|
LOCAL_PACKAGE_NAME:=
|
|
LOCAL_PAGE_ALIGN_JNI_SHARED_LIBRARIES:=
|
|
LOCAL_OVERRIDES_PACKAGES:=
|
|
LOCAL_EXPORT_PACKAGE_RESOURCES:=
|
|
LOCAL_MANIFEST_PACKAGE_NAME:=
|
|
LOCAL_PACKAGE_SPLITS:=
|
|
LOCAL_REQUIRED_MODULES:=
|
|
LOCAL_ACP_UNAVAILABLE:=
|
|
LOCAL_MODULE_TAGS:=
|
|
LOCAL_SRC_FILES:=
|
|
LOCAL_PREBUILT_OBJ_FILES:=
|
|
LOCAL_STATIC_JAVA_LIBRARIES:=
|
|
LOCAL_STATIC_JAVA_AAR_LIBRARIES:=
|
|
LOCAL_STATIC_LIBRARIES:=
|
|
# Group static libraries with "-Wl,--start-group" and "-Wl,--end-group" when linking.
|
|
LOCAL_GROUP_STATIC_LIBRARIES:=
|
|
LOCAL_WHOLE_STATIC_LIBRARIES:=
|
|
LOCAL_SHARED_LIBRARIES:=
|
|
LOCAL_IS_HOST_MODULE:=
|
|
LOCAL_CC:=
|
|
LOCAL_CXX:=
|
|
LOCAL_CPP_EXTENSION:=
|
|
LOCAL_NO_DEFAULT_COMPILER_FLAGS:=
|
|
LOCAL_FDO_SUPPORT:=
|
|
LOCAL_ARM_MODE:=
|
|
LOCAL_YACCFLAGS:=
|
|
LOCAL_ASFLAGS:=
|
|
LOCAL_CFLAGS:=
|
|
LOCAL_CPPFLAGS:=
|
|
LOCAL_CLANG_ASFLAGS:=
|
|
LOCAL_CLANG_CFLAGS:=
|
|
LOCAL_CLANG_CONLYFLAGS:=
|
|
LOCAL_CLANG_CPPFLAGS:=
|
|
LOCAL_CONLYFLAGS:=
|
|
LOCAL_RTTI_FLAG:=
|
|
LOCAL_C_INCLUDES:=
|
|
LOCAL_EXPORT_C_INCLUDE_DIRS:=
|
|
LOCAL_LDFLAGS:=
|
|
LOCAL_CLANG_LDFLAGS:=
|
|
LOCAL_LDLIBS:=
|
|
LOCAL_AAPT_FLAGS:=
|
|
LOCAL_AAPT_INCLUDE_ALL_RESOURCES:=
|
|
LOCAL_SYSTEM_SHARED_LIBRARIES:=none
|
|
LOCAL_PREBUILT_LIBS:=
|
|
LOCAL_PREBUILT_EXECUTABLES:=
|
|
LOCAL_PREBUILT_JAVA_LIBRARIES:=
|
|
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES:=
|
|
LOCAL_PREBUILT_STRIP_COMMENTS:=
|
|
LOCAL_INTERMEDIATE_SOURCES:=
|
|
LOCAL_INTERMEDIATE_SOURCE_DIR:=
|
|
LOCAL_JAVACFLAGS:=
|
|
LOCAL_JAVA_LIBRARIES:=
|
|
LOCAL_JAVA_LAYERS_FILE:=
|
|
LOCAL_NO_STANDARD_LIBRARIES:=
|
|
LOCAL_CLASSPATH:=
|
|
LOCAL_JACK_CLASSPATH:=
|
|
LOCAL_DROIDDOC_USE_STANDARD_DOCLET:=
|
|
LOCAL_DROIDDOC_SOURCE_PATH:=
|
|
LOCAL_DROIDDOC_TEMPLATE_DIR:=
|
|
LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR:=
|
|
LOCAL_DROIDDOC_ASSET_DIR:=
|
|
LOCAL_DROIDDOC_CUSTOM_ASSET_DIR:=
|
|
LOCAL_DROIDDOC_OPTIONS:=
|
|
LOCAL_DROIDDOC_HTML_DIR:=
|
|
LOCAL_ADDITIONAL_HTML_DIR:=
|
|
LOCAL_ASSET_DIR:=
|
|
LOCAL_RESOURCE_DIR:=
|
|
LOCAL_JAVA_RESOURCE_DIRS:=
|
|
LOCAL_JAVA_RESOURCE_FILES:=
|
|
LOCAL_GENERATED_SOURCES:=
|
|
LOCAL_COPY_HEADERS_TO:=
|
|
LOCAL_COPY_HEADERS:=
|
|
LOCAL_FORCE_STATIC_EXECUTABLE:=
|
|
LOCAL_ADDITIONAL_DEPENDENCIES:=
|
|
LOCAL_STRIP_MODULE:=
|
|
LOCAL_PACK_MODULE_RELOCATIONS:=
|
|
LOCAL_JNI_SHARED_LIBRARIES:=
|
|
LOCAL_JNI_SHARED_LIBRARIES_ABI:=
|
|
LOCAL_PREBUILT_JNI_LIBS:=
|
|
LOCAL_JAR_MANIFEST:=
|
|
LOCAL_INSTRUMENTATION_FOR:=
|
|
LOCAL_APK_LIBRARIES:=
|
|
LOCAL_RES_LIBRARIES:=
|
|
LOCAL_MANIFEST_INSTRUMENTATION_FOR:=
|
|
LOCAL_AIDL_INCLUDES:=
|
|
LOCAL_JARJAR_RULES:=
|
|
LOCAL_ADDITIONAL_JAVA_DIR:=
|
|
LOCAL_ALLOW_UNDEFINED_SYMBOLS:=
|
|
LOCAL_DX_FLAGS:=
|
|
LOCAL_JACK_ENABLED:=$(DEFAULT_JACK_ENABLED) # '' (ie disabled), disabled, full, incremental
|
|
LOCAL_JACK_VM_ARGS := $(DEFAULT_JACK_VM_ARGS)
|
|
LOCAL_JACK_EXTRA_ARGS := $(DEFAULT_JACK_EXTRA_ARGS)
|
|
LOCAL_JACK_FLAGS:=
|
|
LOCAL_JILL_FLAGS:=
|
|
LOCAL_CERTIFICATE:=
|
|
LOCAL_SDK_VERSION:=
|
|
LOCAL_SDK_RES_VERSION:=
|
|
LOCAL_NDK_STL_VARIANT:=
|
|
LOCAL_EMMA_INSTRUMENT:=
|
|
LOCAL_PROGUARD_ENABLED:= # '',full,custom,nosystem,disabled,obfuscation,optimization
|
|
LOCAL_PROGUARD_FLAGS:=
|
|
LOCAL_JACK_PROGUARD_FLAGS:=
|
|
LOCAL_PROGUARD_FLAG_FILES:=
|
|
LOCAL_TEST_MODULE_TO_PROGUARD_WITH:=
|
|
LOCAL_EMMA_COVERAGE_FILTER:=
|
|
LOCAL_WARNINGS_ENABLE:=
|
|
LOCAL_FULL_MANIFEST_FILE:=
|
|
LOCAL_MANIFEST_FILE:=
|
|
LOCAL_FULL_LIBS_MANIFEST_FILES:=
|
|
LOCAL_RENDERSCRIPT_INCLUDES:=
|
|
LOCAL_RENDERSCRIPT_INCLUDES_OVERRIDE:=
|
|
LOCAL_RENDERSCRIPT_CC:=
|
|
LOCAL_RENDERSCRIPT_COMPATIBILITY:=
|
|
LOCAL_RENDERSCRIPT_FLAGS:=
|
|
LOCAL_RENDERSCRIPT_SKIP_INSTALL:=
|
|
LOCAL_RENDERSCRIPT_TARGET_API:=
|
|
LOCAL_DEX_PREOPT:= # '',true,false,nostripping
|
|
LOCAL_DEX_PREOPT_IMAGE_LOCATION:=
|
|
LOCAL_DEX_PREOPT_FLAGS:=
|
|
LOCAL_PROTOC_OPTIMIZE_TYPE:= # lite(default),micro,nano,full
|
|
LOCAL_PROTOC_FLAGS:=
|
|
LOCAL_PROTO_JAVA_OUTPUT_PARAMS:=
|
|
LOCAL_NO_CRT:=
|
|
LOCAL_PROPRIETARY_MODULE:=
|
|
LOCAL_OEM_MODULE:=
|
|
LOCAL_PRIVILEGED_MODULE:=
|
|
LOCAL_MODULE_OWNER:=
|
|
LOCAL_CTS_TEST_PACKAGE:=
|
|
LOCAL_CTS_TEST_RUNNER:=
|
|
LOCAL_CLANG:=
|
|
LOCAL_ADDRESS_SANITIZER:=
|
|
LOCAL_JAR_EXCLUDE_FILES:=
|
|
LOCAL_JAR_PACKAGES:=
|
|
LOCAL_JAR_EXCLUDE_PACKAGES:=
|
|
LOCAL_LINT_FLAGS:=
|
|
LOCAL_SOURCE_FILES_ALL_GENERATED:= # '',true
|
|
# Don't delete the META_INF dir when merging static Java libraries.
|
|
LOCAL_DONT_DELETE_JAR_META_INF:=
|
|
LOCAL_DONT_DELETE_JAR_DIRS:=
|
|
LOCAL_ADDITIONAL_CERTIFICATES:=
|
|
LOCAL_PREBUILT_MODULE_FILE:=
|
|
LOCAL_POST_LINK_CMD:=
|
|
LOCAL_POST_INSTALL_CMD:=
|
|
LOCAL_DIST_BUNDLED_BINARIES:=
|
|
LOCAL_HAL_STATIC_LIBRARIES:=
|
|
LOCAL_RMTYPEDEFS:=
|
|
LOCAL_NO_SYNTAX_CHECK:=
|
|
LOCAL_NO_STATIC_ANALYZER:=
|
|
LOCAL_32_BIT_ONLY:= # '',true
|
|
LOCAL_MULTILIB:=
|
|
LOCAL_MODULE_TARGET_ARCH:=
|
|
LOCAL_MODULE_TARGET_ARCH_WARN:=
|
|
LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH:=
|
|
LOCAL_MODULE_UNSUPPORTED_TARGET_ARCH_WARN:=
|
|
LOCAL_MODULE_HOST_ARCH:=
|
|
LOCAL_NO_FPIE :=
|
|
LOCAL_CXX_STL := default
|
|
LOCAL_NATIVE_COVERAGE :=
|
|
LOCAL_DPI_VARIANTS:=
|
|
LOCAL_DPI_FILE_STEM:=
|
|
LOCAL_SANITIZE:=
|
|
LOCAL_SANITIZE_RECOVER:=
|
|
|
|
# arch specific variables
|
|
LOCAL_SRC_FILES_$(TARGET_ARCH):=
|
|
LOCAL_CFLAGS_$(TARGET_ARCH):=
|
|
LOCAL_CLANG_CFLAGS_$(TARGET_ARCH):=
|
|
LOCAL_CPPFLAGS_$(TARGET_ARCH):=
|
|
LOCAL_CLANG_CPPFLAGS_$(TARGET_ARCH):=
|
|
LOCAL_C_INCLUDES_$(TARGET_ARCH):=
|
|
LOCAL_ASFLAGS_$(TARGET_ARCH):=
|
|
LOCAL_CLANG_ASFLAGS_$(TARGET_ARCH):=
|
|
LOCAL_NO_CRT_$(TARGET_ARCH):=
|
|
LOCAL_LDFLAGS_$(TARGET_ARCH):=
|
|
LOCAL_CLANG_LDFLAGS_$(TARGET_ARCH):=
|
|
LOCAL_SHARED_LIBRARIES_$(TARGET_ARCH):=
|
|
LOCAL_STATIC_LIBRARIES_$(TARGET_ARCH):=
|
|
LOCAL_WHOLE_STATIC_LIBRARIES_$(TARGET_ARCH):=
|
|
LOCAL_GENERATED_SOURCES_$(TARGET_ARCH):=
|
|
LOCAL_REQUIRED_MODULES_$(TARGET_ARCH):=
|
|
LOCAL_CLANG_$(TARGET_ARCH):=
|
|
LOCAL_PREBUILT_JNI_LIBS_$(TARGET_ARCH):=
|
|
ifdef TARGET_2ND_ARCH
|
|
LOCAL_SRC_FILES_$(TARGET_2ND_ARCH):=
|
|
LOCAL_CFLAGS_$(TARGET_2ND_ARCH):=
|
|
LOCAL_CLANG_CFLAGS_$(TARGET_2ND_ARCH):=
|
|
LOCAL_CPPFLAGS_$(TARGET_2ND_ARCH):=
|
|
LOCAL_CLANG_CPPFLAGS_$(TARGET_2ND_ARCH):=
|
|
LOCAL_C_INCLUDES_$(TARGET_2ND_ARCH):=
|
|
LOCAL_ASFLAGS_$(TARGET_2ND_ARCH):=
|
|
LOCAL_CLANG_ASFLAGS_$(TARGET_2ND_ARCH):=
|
|
LOCAL_NO_CRT_$(TARGET_2ND_ARCH):=
|
|
LOCAL_LDFLAGS_$(TARGET_2ND_ARCH):=
|
|
LOCAL_CLANG_LDFLAGS_$(TARGET_2ND_ARCH):=
|
|
LOCAL_SHARED_LIBRARIES_$(TARGET_2ND_ARCH):=
|
|
LOCAL_STATIC_LIBRARIES_$(TARGET_2ND_ARCH):=
|
|
LOCAL_WHOLE_STATIC_LIBRARIES_$(TARGET_2ND_ARCH):=
|
|
LOCAL_GENERATED_SOURCES_$(TARGET_2ND_ARCH):=
|
|
LOCAL_REQUIRED_MODULES_$(TARGET_2ND_ARCH):=
|
|
LOCAL_CLANG_$(TARGET_2ND_ARCH):=
|
|
LOCAL_PREBUILT_JNI_LIBS_$(TARGET_2ND_ARCH):=
|
|
endif
|
|
LOCAL_SRC_FILES_$(HOST_ARCH):=
|
|
LOCAL_CFLAGS_$(HOST_ARCH):=
|
|
LOCAL_CLANG_CFLAGS_$(HOST_ARCH):=
|
|
LOCAL_CPPFLAGS_$(HOST_ARCH):=
|
|
LOCAL_CLANG_CPPFLAGS_$(HOST_ARCH):=
|
|
LOCAL_C_INCLUDES_$(HOST_ARCH):=
|
|
LOCAL_ASFLAGS_$(HOST_ARCH):=
|
|
LOCAL_CLANG_ASFLAGS_$(HOST_ARCH):=
|
|
LOCAL_NO_CRT_$(HOST_ARCH):=
|
|
LOCAL_LDFLAGS_$(HOST_ARCH):=
|
|
LOCAL_CLANG_LDFLAGS_$(HOST_ARCH):=
|
|
LOCAL_SHARED_LIBRARIES_$(HOST_ARCH):=
|
|
LOCAL_STATIC_LIBRARIES_$(HOST_ARCH):=
|
|
LOCAL_WHOLE_STATIC_LIBRARIES_$(HOST_ARCH):=
|
|
LOCAL_GENERATED_SOURCES_$(HOST_ARCH):=
|
|
LOCAL_REQUIRED_MODULES_$(HOST_ARCH):=
|
|
LOCAL_CLANG_$(HOST_ARCH):=
|
|
ifdef HOST_2ND_ARCH
|
|
LOCAL_SRC_FILES_$(HOST_2ND_ARCH):=
|
|
LOCAL_CFLAGS_$(HOST_2ND_ARCH):=
|
|
LOCAL_CLANG_CFLAGS_$(HOST_2ND_ARCH):=
|
|
LOCAL_CPPFLAGS_$(HOST_2ND_ARCH):=
|
|
LOCAL_CLANG_CPPFLAGS_$(HOST_2ND_ARCH):=
|
|
LOCAL_C_INCLUDES_$(HOST_2ND_ARCH):=
|
|
LOCAL_ASFLAGS_$(HOST_2ND_ARCH):=
|
|
LOCAL_CLANG_ASFLAGS_$(HOST_2ND_ARCH):=
|
|
LOCAL_NO_CRT_$(HOST_2ND_ARCH):=
|
|
LOCAL_LDFLAGS_$(HOST_2ND_ARCH):=
|
|
LOCAL_CLANG_LDFLAGS_$(HOST_2ND_ARCH):=
|
|
LOCAL_SHARED_LIBRARIES_$(HOST_2ND_ARCH):=
|
|
LOCAL_STATIC_LIBRARIES_$(HOST_2ND_ARCH):=
|
|
LOCAL_WHOLE_STATIC_LIBRARIES_$(HOST_2ND_ARCH):=
|
|
LOCAL_GENERATED_SOURCES_$(HOST_2ND_ARCH):=
|
|
LOCAL_REQUIRED_MODULES_$(HOST_2ND_ARCH):=
|
|
LOCAL_CLANG_$(HOST_2ND_ARCH):=
|
|
endif
|
|
|
|
LOCAL_SRC_FILES_32:=
|
|
LOCAL_SRC_FILES_64:=
|
|
LOCAL_SHARED_LIBRARIES_32:=
|
|
LOCAL_SHARED_LIBRARIES_64:=
|
|
LOCAL_STATIC_LIBRARIES_32:=
|
|
LOCAL_STATIC_LIBRARIES_64:=
|
|
LOCAL_WHOLE_STATIC_LIBRARIES_32:=
|
|
LOCAL_WHOLE_STATIC_LIBRARIES_64:=
|
|
LOCAL_GENERATED_SOURCES_32:=
|
|
LOCAL_GENERATED_SOURCES_64:=
|
|
LOCAL_CFLAGS_32:=
|
|
LOCAL_CFLAGS_64:=
|
|
LOCAL_CPPFLAGS_32:=
|
|
LOCAL_CPPFLAGS_64:=
|
|
LOCAL_LDFLAGS_32:=
|
|
LOCAL_LDFLAGS_64:=
|
|
LOCAL_ASFLAGS_32:=
|
|
LOCAL_ASFLAGS_64:=
|
|
LOCAL_CLANG_CFLAGS_32:=
|
|
LOCAL_CLANG_CFLAGS_64:=
|
|
LOCAL_CLANG_CPPFLAGS_32:=
|
|
LOCAL_CLANG_CPPFLAGS_64:=
|
|
LOCAL_CLANG_LDFLAGS_32:=
|
|
LOCAL_CLANG_LDFLAGS_64:=
|
|
LOCAL_CLANG_ASFLAGS_32:=
|
|
LOCAL_CLANG_ASFLAGS_64:=
|
|
LOCAL_C_INCLUDES_32:=
|
|
LOCAL_C_INCLUDES_64:=
|
|
LOCAL_MODULE_PATH_32:=
|
|
LOCAL_MODULE_PATH_64:=
|
|
LOCAL_MODULE_STEM_32:=
|
|
LOCAL_MODULE_STEM_64:=
|
|
LOCAL_CLANG_32:=
|
|
LOCAL_CLANG_64:=
|
|
|
|
# Trim MAKEFILE_LIST so that $(call my-dir) doesn't need to
|
|
# iterate over thousands of entries every time.
|
|
# Leave the current makefile to make sure we don't break anything
|
|
# that expects to be able to find the name of the current makefile.
|
|
MAKEFILE_LIST := $(lastword $(MAKEFILE_LIST))
|