Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f33c3ef9 authored by Ying Wang's avatar Ying Wang Committed by Android Git Automerger
Browse files

am b93e03cb: am 52911309: Cherry-pick unbundled build changes from master

Merge commit 'b93e03cb' into kraken

* commit 'b93e03cb':
  Cherry-pick unbundled build changes from master
parents 8a06bac1 b93e03cb
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -235,7 +235,8 @@ endif
###########################################################
#TODO: pull this into java.make once host and target are combined

java_sources := $(addprefix $(TOP_DIR)$(LOCAL_PATH)/, $(filter %.java,$(LOCAL_SRC_FILES))) $(aidl_java_sources) $(logtags_java_sources)
java_sources := $(addprefix $(TOP_DIR)$(LOCAL_PATH)/, $(filter %.java,$(LOCAL_SRC_FILES))) $(aidl_java_sources) $(logtags_java_sources) \
                $(filter %.java,$(LOCAL_GENERATED_SOURCES))
all_java_sources := $(java_sources) $(addprefix $($(my_prefix)OUT_COMMON_INTERMEDIATES)/, $(filter %.java,$(LOCAL_INTERMEDIATE_SOURCES)))

## Java resources #########################################
+24 −2
Original line number Diff line number Diff line
@@ -691,8 +691,21 @@ droidcore: files \
# The actual files built by the droidcore target changes depending
# on the build variant.
.PHONY: droid tests
droid tests: droidcore

ifeq ($(strip $(is_unbundled_app_build)),true)
unbundled_build_modules :=
ifdef UNBUNDLED_APPS
unbundled_build_modules := $(UNBUNDLED_APPS)
else # UNBUNDLED_APPS
# Otherwise we build all modules in the source tree.
unbundled_build_modules := $(sort $(call get-tagged-modules,$(ALL_MODULE_TAGS)))
endif # UNBUNDLED_APPS
droid: $(unbundled_build_modules)
else # is_unbundled_app_build
droid: droidcore
endif # is_unbundled_app_build
tests: droidcore

ifneq ($(strip $(is_unbundled_app_build)),true)
$(call dist-for-goals, droid, \
	$(INTERNAL_UPDATE_PACKAGE_TARGET) \
	$(INTERNAL_OTA_PACKAGE_TARGET) \
@@ -724,6 +737,15 @@ $(call dist-for-goals, droid, \
 )
endif

else # is_unbundled_app_build
# dist the unbundled app.
ifdef UNBUNDLED_APPS
  $(call dist-for-goals,droid, \
    $(foreach m,$(UNBUNDLED_APPS),$(ALL_MODULES.$(m).INSTALLED)) \
  )
endif # UNBUNDLED_APPS
endif # is_unbundled_app_build

.PHONY: docs
docs: $(ALL_DOCS)

+4 −0
Original line number Diff line number Diff line
@@ -304,6 +304,10 @@ PACKAGES.$(LOCAL_PACKAGE_NAME).CERTIFICATE := $(certificate)
# Define the rule to build the actual package.
$(LOCAL_BUILT_MODULE): $(AAPT) | $(ZIPALIGN)
$(LOCAL_BUILT_MODULE): PRIVATE_JNI_SHARED_LIBRARIES := $(jni_shared_libraries)
ifeq ($(strip $(is_unbundled_app_build)),true)
    # Include all resources for unbundled apps.
    $(LOCAL_BUILT_MODULE): PRODUCT_AAPT_CONFIG :=
endif
$(LOCAL_BUILT_MODULE): $(all_res_assets) $(jni_shared_libraries) $(full_android_manifest)
	@echo "target Package: $(PRIVATE_MODULE) ($@)"
	$(create-empty-package)
+14 −5
Original line number Diff line number Diff line
@@ -29,13 +29,13 @@ $(shell test -d device && find device -maxdepth 6 -name AndroidProducts.mk) \
endef

#
# Returns the sorted concatenation of all PRODUCT_MAKEFILES
# variables set in all AndroidProducts.mk files.
# $(call ) isn't necessary.
# Returns the sorted concatenation of PRODUCT_MAKEFILES
# variables set in the given AndroidProducts.mk files.
# $(1): the list of AndroidProducts.mk files.
#
define get-all-product-makefiles
define get-product-makefiles
$(sort \
  $(foreach f,$(_find-android-products-files), \
  $(foreach f,$(1), \
    $(eval PRODUCT_MAKEFILES :=) \
    $(eval LOCAL_DIR := $(patsubst %/,%,$(dir $(f)))) \
    $(eval include $(f)) \
@@ -46,6 +46,15 @@ $(sort \
 )
endef

#
# Returns the sorted concatenation of all PRODUCT_MAKEFILES
# variables set in all AndroidProducts.mk files.
# $(call ) isn't necessary.
#
define get-all-product-makefiles
$(call get-product-makefiles,$(_find-android-products-files))
endef

#
# Functions for including product makefiles
#
+33 −6
Original line number Diff line number Diff line
@@ -148,6 +148,27 @@ $(goal_name): $(MAKECMDGOALS)
endif
# else: Use the value set in the environment or buildspec.mk.

# ---------------------------------------------------------------
# Provide "APP-<appname>" targets, which lets you build
# an unbundled app.
#
unbundled_goals := $(strip $(filter APP-%,$(MAKECMDGOALS)))
ifdef unbundled_goals
  ifneq ($(words $(unbundled_goals)),1)
    $(error Only one APP-* goal may be specified; saw "$(unbundled_goals)"))
  endif
  UNBUNDLED_APPS := $(strip $(subst -, ,$(patsubst APP-%,%,$(unbundled_goals))))
  ifneq ($(filter $(DEFAULT_GOAL),$(MAKECMDGOALS)),)
    MAKECMDGOALS := $(patsubst $(unbundled_goals),,$(MAKECMDGOALS))
  else
    MAKECMDGOALS := $(patsubst $(unbundled_goals),$(DEFAULT_GOAL),$(MAKECMDGOALS))
  endif
  is_unbundled_app_build := true

.PHONY: $(unbundled_goals)
$(unbundled_goals): $(MAKECMDGOALS)
endif # unbundled_goals

# ---------------------------------------------------------------
# Include the product definitions.
# We need to do this to translate TARGET_PRODUCT into its
@@ -157,12 +178,18 @@ include $(BUILD_SYSTEM)/node_fns.mk
include $(BUILD_SYSTEM)/product.mk
include $(BUILD_SYSTEM)/device.mk

ifeq ($(strip $(is_unbundled_app_build)),true)
  # An unbundled app build needs only the core product makefiles.
  $(call import-products,$(call get-product-makefiles,\
      $(SRC_TARGET_DIR)/product/AndroidProducts.mk))
else
  # Read in all of the product definitions specified by the AndroidProducts.mk
  # files in the tree.
  #
  #TODO: when we start allowing direct pointers to product files,
  #    guarantee that they're in this list.
  $(call import-products, $(get-all-product-makefiles))
endif # is_unbundled_app_build
$(check-all-products)
#$(dump-products)
#$(error done)
Loading