Loading cleanspec.mk +1 −0 Original line number Diff line number Diff line Loading @@ -68,6 +68,7 @@ $(call add-clean-step, rm -rf $(OUT_DIR)/product/*/obj/SHARED_LIBRARIES/libandro $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framework_intermediates) $(call add-clean-step, rm -rf $(OUT_DIR)/target/product/*/obj/SHARED_LIBRARIES/libjni_andpyime_intermediates) $(call add-clean-step, rm -rf $(OUT_DIR)/target/product/*/obj/SHARED_LIBRARIES/share) $(call add-clean-step, rm -rf $(OUT_DIR)/target/product/*/obj/SHARED_LIBRARIES/libwebcore_intermediates) # ************************************************ # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST Loading core/combo/linux-arm.mk +3 −2 Original line number Diff line number Diff line Loading @@ -15,7 +15,8 @@ $(combo_target)LD := $($(combo_target)TOOLS_PREFIX)ld$(HOST_EXECUTABLE_SUFFIX) $(combo_target)NO_UNDEFINED_LDFLAGS := -Wl,--no-undefined TARGET_arm_release_CFLAGS := -fomit-frame-pointer \ TARGET_arm_release_CFLAGS := -O2 \ -fomit-frame-pointer \ -fstrict-aliasing \ -funswitch-loops \ -finline-limit=300 Loading Loading @@ -62,7 +63,7 @@ $(combo_target)GLOBAL_CPPFLAGS += -fvisibility-inlines-hidden $(combo_target)RELEASE_CFLAGS := \ -DSK_RELEASE -DNDEBUG \ -O2 -g \ -g \ -Wstrict-aliasing=2 \ -finline-functions \ -fno-inline-functions-called-once \ Loading core/node_fns.mk +8 −1 Original line number Diff line number Diff line Loading @@ -182,8 +182,9 @@ endef # $(2): makefile representing this node # $(3): list of node variable names # #TODO: keep a debug stack to make error messages more helpful # _include_stack contains the list of included files, with the most recent files first. define _import-node $(eval _include_stack := $(2) $$(_include_stack)) $(call clear-var-list, $(3)) $(eval include $(2)) $(call copy-var-list, $(1).$(2), $(3)) Loading @@ -196,6 +197,7 @@ define _import-node $(call _expand-inherited-values,$(1),$(2),$(3)) $(eval $(1).$(2).inherited :=) $(eval _include_stack := $(wordlist 2,9999,$$(_include_stack))) endef # Loading Loading @@ -229,10 +231,15 @@ define import-nodes $(if \ $(foreach _in,$(2), \ $(eval _node_import_context := _nic.$(1).[[$(_in)]]) \ $(if $(_include_stack),$(eval $(error ASSERTION FAILED: _include_stack \ should be empty here: $(_include_stack))),) \ $(eval _include_stack := ) \ $(call _import-nodes-inner,$(_node_import_context),$(_in),$(3)) \ $(call move-var-list,$(_node_import_context).$(_in),$(1).$(_in),$(3)) \ $(eval _node_import_context :=) \ $(eval $(1) := $($(1)) $(_in)) \ $(if $(_include_stack),$(eval $(error ASSERTION FAILED: _include_stack \ should be empty here: $(_include_stack))),) \ ) \ ,) endef core/product.mk +11 −1 Original line number Diff line number Diff line Loading @@ -80,9 +80,19 @@ endef # # $(1): product to inherit # # Does three things: # 1. Inherits all of the variables from $1. # 2. Records the inheritance in the .INHERITS_FROM variable # 3. Records that we've visited this node, in ALL_PRODUCTS # define inherit-product $(foreach v,$(_product_var_list), \ $(eval $(v) := $($(v)) $(INHERIT_TAG)$(strip $(1)))) $(eval $(v) := $($(v)) $(INHERIT_TAG)$(strip $(1)))) \ $(eval inherit_var := \ PRODUCTS.$(strip $(word 1,$(_include_stack))).INHERITS_FROM) \ $(eval $(inherit_var) := $(sort $($(inherit_var)) $(strip $(1)))) \ $(eval inherit_var:=) \ $(eval ALL_PRODUCTS := $(sort $(ALL_PRODUCTS) $(word 1,$(_include_stack)))) endef # Loading core/tasks/cts.mk +52 −3 Original line number Diff line number Diff line Loading @@ -40,7 +40,8 @@ CTS_CASE_LIST := \ CtsViewTestCases \ CtsWidgetTestCases \ CtsNetTestCases \ SignatureTest SignatureTest \ android.core.tests DEFAULT_TEST_PLAN := $(PRIVATE_DIR)/resource/plans Loading @@ -64,6 +65,55 @@ $(cts_dir)/all_cts_files_stamp: $(CTS_CASE_LIST) | $(ACP) $(hide) $(ACP) -fp $(cts_tools_src_dir)/utils/startcts $(PRIVATE_DIR)/tools/ $(hide) touch $@ # Generate the test plan for the core-tests CORE_TEST_PLAN := $(cts_dir)/$(cts_name)/repository/testcases/android.core.tests CORE_INTERMEDIATES :=$(call intermediates-dir-for,JAVA_LIBRARIES,core,,COMMON) TESTS_INTERMEDIATES :=$(call intermediates-dir-for,JAVA_LIBRARIES,core-tests,,COMMON) GEN_CLASSPATH := $(CORE_INTERMEDIATES)/classes.jar:$(TESTS_INTERMEDIATES)/classes.jar:$(CORE_INTERMEDIATES)/javalib.jar:$(TESTS_INTERMEDIATES)/javalib.jar:$(HOST_OUT_JAVA_LIBRARIES)/descGen.jar:$(HOST_JDK_TOOLS_JAR) $(CORE_TEST_PLAN): PRIVATE_CLASSPATH:=$(GEN_CLASSPATH) $(CORE_TEST_PLAN): PRIVATE_PARAMS:=-Dcts.useSuppliedTestResult=true $(CORE_TEST_PLAN): PRIVATE_PARAMS+=-Dcts.useEnhancedJunit=true $(CORE_TEST_PLAN): PRIVATE_CUSTOM_TOOL := java -classpath $(PRIVATE_CLASSPATH) \ $(PRIVATE_PARAMS) CollectAllTests $(CORE_TEST_PLAN) \ cts/tests/core/AndroidManifest.xml tests.AllTests # Why does this depend on javalib.jar instead of classes.jar? Because # even though the tool will operate on the classes.jar files, the # build system requires that dependencies use javalib.jar. If # javalib.jar is up-to-date, then classes.jar is as well. Depending # on classes.jar will build the files incorrectly. $(CORE_TEST_PLAN): android.core.tests $(HOST_OUT_JAVA_LIBRARIES)/descGen.jar $(CORE_INTERMEDIATES)/javalib.jar $(TESTS_INTERMEDIATES)/javalib.jar $(cts_dir)/all_cts_files_stamp @echo "Generate the CTS test plan: $@" @echo $(PRIVATE_CUSTOM_TOOL) $(transform-generated-source) # ----- Generate the test plan for the vm-tests ----- # CORE_VM_TEST_PLAN := $(cts_dir)/$(cts_name)/repository/testcases/android.core.vm-tests VMTESTS_INTERMEDIATES :=$(call intermediates-dir-for,EXECUTABLES,vm-tests,1,) # core tests only needed to get hold of junit-framework-classes TESTS_INTERMEDIATES :=$(call intermediates-dir-for,JAVA_LIBRARIES,core-tests,,COMMON) CORE_INTERMEDIATES :=$(call intermediates-dir-for,JAVA_LIBRARIES,core,,COMMON) GEN_CLASSPATH := $(CORE_INTERMEDIATES)/classes.jar:$(TESTS_INTERMEDIATES)/classes.jar:$(VMTESTS_INTERMEDIATES)/android.core.vm-tests.jar:$(HOST_OUT_JAVA_LIBRARIES)/descGen.jar:$(HOST_JDK_TOOLS_JAR) $(CORE_VM_TEST_PLAN): PRIVATE_CLASSPATH:=$(GEN_CLASSPATH) $(CORE_VM_TEST_PLAN): PRIVATE_PARAMS:=-Dcts.useSuppliedTestResult=true $(CORE_VM_TEST_PLAN): PRIVATE_PARAMS+=-Dcts.useEnhancedJunit=true $(CORE_VM_TEST_PLAN): PRIVATE_CUSTOM_TOOL := java -classpath $(PRIVATE_CLASSPATH) \ $(PRIVATE_PARAMS) CollectAllTests $(CORE_VM_TEST_PLAN) \ cts/tests/vm-tests/AndroidManifest.xml dot.junit.AllJunitHostTests # Please see big comment above on why this line depends on javalib.jar instead of classes.jar $(CORE_VM_TEST_PLAN): vm-tests $(HOST_OUT_JAVA_LIBRARIES)/descGen.jar $(CORE_INTERMEDIATES)/javalib.jar $(VMTESTS_INTERMEDIATES)/android.core.vm-tests.jar $(TESTS_INTERMEDIATES)/javalib.jar $(cts_dir)/all_cts_files_stamp | $(ACP) @echo "Generate the CTS vm-test plan: $@" @echo $(PRIVATE_CUSTOM_TOOL) $(transform-generated-source) $(ACP) -fv $(VMTESTS_INTERMEDIATES)/android.core.vm-tests.jar $(PRIVATE_DIR)/repository/testcases/android.core.vm-tests.jar # Generate the default test plan for User. $(DEFAULT_TEST_PLAN): $(cts_dir)/all_cts_files_stamp $(cts_tools_src_dir)/utils/genDefaultTestPlan.sh $(hide) bash $(cts_tools_src_dir)/utils/genDefaultTestPlan.sh cts/tests/tests/ \ Loading @@ -78,7 +128,7 @@ $(INTERNAL_CTS_TARGET): PRIVATE_NAME := $(cts_name) $(INTERNAL_CTS_TARGET): PRIVATE_CTS_DIR := $(cts_dir) $(INTERNAL_CTS_TARGET): PRIVATE_DIR := $(cts_dir)/$(cts_name) $(INTERNAL_CTS_TARGET): TMP_DIR := $(cts_dir)/temp $(INTERNAL_CTS_TARGET): $(cts_dir)/all_cts_files_stamp $(DEFAULT_TEST_PLAN) $(INTERNAL_CTS_TARGET): $(cts_dir)/all_cts_files_stamp $(DEFAULT_TEST_PLAN) $(CORE_TEST_PLAN) $(CORE_VM_TEST_PLAN) @echo "Package CTS: $@" $(hide) cd $(dir $@) && zip -rq $(notdir $@) $(PRIVATE_NAME) Loading @@ -92,4 +142,3 @@ $(hide) $(ACP) -fp $(call intermediates-dir-for,APPS,$(1))/package.apk \ $(PRIVATE_DIR)/repository/testcases/$(1).apk endef Loading
cleanspec.mk +1 −0 Original line number Diff line number Diff line Loading @@ -68,6 +68,7 @@ $(call add-clean-step, rm -rf $(OUT_DIR)/product/*/obj/SHARED_LIBRARIES/libandro $(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/framework_intermediates) $(call add-clean-step, rm -rf $(OUT_DIR)/target/product/*/obj/SHARED_LIBRARIES/libjni_andpyime_intermediates) $(call add-clean-step, rm -rf $(OUT_DIR)/target/product/*/obj/SHARED_LIBRARIES/share) $(call add-clean-step, rm -rf $(OUT_DIR)/target/product/*/obj/SHARED_LIBRARIES/libwebcore_intermediates) # ************************************************ # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST Loading
core/combo/linux-arm.mk +3 −2 Original line number Diff line number Diff line Loading @@ -15,7 +15,8 @@ $(combo_target)LD := $($(combo_target)TOOLS_PREFIX)ld$(HOST_EXECUTABLE_SUFFIX) $(combo_target)NO_UNDEFINED_LDFLAGS := -Wl,--no-undefined TARGET_arm_release_CFLAGS := -fomit-frame-pointer \ TARGET_arm_release_CFLAGS := -O2 \ -fomit-frame-pointer \ -fstrict-aliasing \ -funswitch-loops \ -finline-limit=300 Loading Loading @@ -62,7 +63,7 @@ $(combo_target)GLOBAL_CPPFLAGS += -fvisibility-inlines-hidden $(combo_target)RELEASE_CFLAGS := \ -DSK_RELEASE -DNDEBUG \ -O2 -g \ -g \ -Wstrict-aliasing=2 \ -finline-functions \ -fno-inline-functions-called-once \ Loading
core/node_fns.mk +8 −1 Original line number Diff line number Diff line Loading @@ -182,8 +182,9 @@ endef # $(2): makefile representing this node # $(3): list of node variable names # #TODO: keep a debug stack to make error messages more helpful # _include_stack contains the list of included files, with the most recent files first. define _import-node $(eval _include_stack := $(2) $$(_include_stack)) $(call clear-var-list, $(3)) $(eval include $(2)) $(call copy-var-list, $(1).$(2), $(3)) Loading @@ -196,6 +197,7 @@ define _import-node $(call _expand-inherited-values,$(1),$(2),$(3)) $(eval $(1).$(2).inherited :=) $(eval _include_stack := $(wordlist 2,9999,$$(_include_stack))) endef # Loading Loading @@ -229,10 +231,15 @@ define import-nodes $(if \ $(foreach _in,$(2), \ $(eval _node_import_context := _nic.$(1).[[$(_in)]]) \ $(if $(_include_stack),$(eval $(error ASSERTION FAILED: _include_stack \ should be empty here: $(_include_stack))),) \ $(eval _include_stack := ) \ $(call _import-nodes-inner,$(_node_import_context),$(_in),$(3)) \ $(call move-var-list,$(_node_import_context).$(_in),$(1).$(_in),$(3)) \ $(eval _node_import_context :=) \ $(eval $(1) := $($(1)) $(_in)) \ $(if $(_include_stack),$(eval $(error ASSERTION FAILED: _include_stack \ should be empty here: $(_include_stack))),) \ ) \ ,) endef
core/product.mk +11 −1 Original line number Diff line number Diff line Loading @@ -80,9 +80,19 @@ endef # # $(1): product to inherit # # Does three things: # 1. Inherits all of the variables from $1. # 2. Records the inheritance in the .INHERITS_FROM variable # 3. Records that we've visited this node, in ALL_PRODUCTS # define inherit-product $(foreach v,$(_product_var_list), \ $(eval $(v) := $($(v)) $(INHERIT_TAG)$(strip $(1)))) $(eval $(v) := $($(v)) $(INHERIT_TAG)$(strip $(1)))) \ $(eval inherit_var := \ PRODUCTS.$(strip $(word 1,$(_include_stack))).INHERITS_FROM) \ $(eval $(inherit_var) := $(sort $($(inherit_var)) $(strip $(1)))) \ $(eval inherit_var:=) \ $(eval ALL_PRODUCTS := $(sort $(ALL_PRODUCTS) $(word 1,$(_include_stack)))) endef # Loading
core/tasks/cts.mk +52 −3 Original line number Diff line number Diff line Loading @@ -40,7 +40,8 @@ CTS_CASE_LIST := \ CtsViewTestCases \ CtsWidgetTestCases \ CtsNetTestCases \ SignatureTest SignatureTest \ android.core.tests DEFAULT_TEST_PLAN := $(PRIVATE_DIR)/resource/plans Loading @@ -64,6 +65,55 @@ $(cts_dir)/all_cts_files_stamp: $(CTS_CASE_LIST) | $(ACP) $(hide) $(ACP) -fp $(cts_tools_src_dir)/utils/startcts $(PRIVATE_DIR)/tools/ $(hide) touch $@ # Generate the test plan for the core-tests CORE_TEST_PLAN := $(cts_dir)/$(cts_name)/repository/testcases/android.core.tests CORE_INTERMEDIATES :=$(call intermediates-dir-for,JAVA_LIBRARIES,core,,COMMON) TESTS_INTERMEDIATES :=$(call intermediates-dir-for,JAVA_LIBRARIES,core-tests,,COMMON) GEN_CLASSPATH := $(CORE_INTERMEDIATES)/classes.jar:$(TESTS_INTERMEDIATES)/classes.jar:$(CORE_INTERMEDIATES)/javalib.jar:$(TESTS_INTERMEDIATES)/javalib.jar:$(HOST_OUT_JAVA_LIBRARIES)/descGen.jar:$(HOST_JDK_TOOLS_JAR) $(CORE_TEST_PLAN): PRIVATE_CLASSPATH:=$(GEN_CLASSPATH) $(CORE_TEST_PLAN): PRIVATE_PARAMS:=-Dcts.useSuppliedTestResult=true $(CORE_TEST_PLAN): PRIVATE_PARAMS+=-Dcts.useEnhancedJunit=true $(CORE_TEST_PLAN): PRIVATE_CUSTOM_TOOL := java -classpath $(PRIVATE_CLASSPATH) \ $(PRIVATE_PARAMS) CollectAllTests $(CORE_TEST_PLAN) \ cts/tests/core/AndroidManifest.xml tests.AllTests # Why does this depend on javalib.jar instead of classes.jar? Because # even though the tool will operate on the classes.jar files, the # build system requires that dependencies use javalib.jar. If # javalib.jar is up-to-date, then classes.jar is as well. Depending # on classes.jar will build the files incorrectly. $(CORE_TEST_PLAN): android.core.tests $(HOST_OUT_JAVA_LIBRARIES)/descGen.jar $(CORE_INTERMEDIATES)/javalib.jar $(TESTS_INTERMEDIATES)/javalib.jar $(cts_dir)/all_cts_files_stamp @echo "Generate the CTS test plan: $@" @echo $(PRIVATE_CUSTOM_TOOL) $(transform-generated-source) # ----- Generate the test plan for the vm-tests ----- # CORE_VM_TEST_PLAN := $(cts_dir)/$(cts_name)/repository/testcases/android.core.vm-tests VMTESTS_INTERMEDIATES :=$(call intermediates-dir-for,EXECUTABLES,vm-tests,1,) # core tests only needed to get hold of junit-framework-classes TESTS_INTERMEDIATES :=$(call intermediates-dir-for,JAVA_LIBRARIES,core-tests,,COMMON) CORE_INTERMEDIATES :=$(call intermediates-dir-for,JAVA_LIBRARIES,core,,COMMON) GEN_CLASSPATH := $(CORE_INTERMEDIATES)/classes.jar:$(TESTS_INTERMEDIATES)/classes.jar:$(VMTESTS_INTERMEDIATES)/android.core.vm-tests.jar:$(HOST_OUT_JAVA_LIBRARIES)/descGen.jar:$(HOST_JDK_TOOLS_JAR) $(CORE_VM_TEST_PLAN): PRIVATE_CLASSPATH:=$(GEN_CLASSPATH) $(CORE_VM_TEST_PLAN): PRIVATE_PARAMS:=-Dcts.useSuppliedTestResult=true $(CORE_VM_TEST_PLAN): PRIVATE_PARAMS+=-Dcts.useEnhancedJunit=true $(CORE_VM_TEST_PLAN): PRIVATE_CUSTOM_TOOL := java -classpath $(PRIVATE_CLASSPATH) \ $(PRIVATE_PARAMS) CollectAllTests $(CORE_VM_TEST_PLAN) \ cts/tests/vm-tests/AndroidManifest.xml dot.junit.AllJunitHostTests # Please see big comment above on why this line depends on javalib.jar instead of classes.jar $(CORE_VM_TEST_PLAN): vm-tests $(HOST_OUT_JAVA_LIBRARIES)/descGen.jar $(CORE_INTERMEDIATES)/javalib.jar $(VMTESTS_INTERMEDIATES)/android.core.vm-tests.jar $(TESTS_INTERMEDIATES)/javalib.jar $(cts_dir)/all_cts_files_stamp | $(ACP) @echo "Generate the CTS vm-test plan: $@" @echo $(PRIVATE_CUSTOM_TOOL) $(transform-generated-source) $(ACP) -fv $(VMTESTS_INTERMEDIATES)/android.core.vm-tests.jar $(PRIVATE_DIR)/repository/testcases/android.core.vm-tests.jar # Generate the default test plan for User. $(DEFAULT_TEST_PLAN): $(cts_dir)/all_cts_files_stamp $(cts_tools_src_dir)/utils/genDefaultTestPlan.sh $(hide) bash $(cts_tools_src_dir)/utils/genDefaultTestPlan.sh cts/tests/tests/ \ Loading @@ -78,7 +128,7 @@ $(INTERNAL_CTS_TARGET): PRIVATE_NAME := $(cts_name) $(INTERNAL_CTS_TARGET): PRIVATE_CTS_DIR := $(cts_dir) $(INTERNAL_CTS_TARGET): PRIVATE_DIR := $(cts_dir)/$(cts_name) $(INTERNAL_CTS_TARGET): TMP_DIR := $(cts_dir)/temp $(INTERNAL_CTS_TARGET): $(cts_dir)/all_cts_files_stamp $(DEFAULT_TEST_PLAN) $(INTERNAL_CTS_TARGET): $(cts_dir)/all_cts_files_stamp $(DEFAULT_TEST_PLAN) $(CORE_TEST_PLAN) $(CORE_VM_TEST_PLAN) @echo "Package CTS: $@" $(hide) cd $(dir $@) && zip -rq $(notdir $@) $(PRIVATE_NAME) Loading @@ -92,4 +142,3 @@ $(hide) $(ACP) -fp $(call intermediates-dir-for,APPS,$(1))/package.apk \ $(PRIVATE_DIR)/repository/testcases/$(1).apk endef