Android.mk revision 6674f8ae6bb390e61cfdccb6e5825ac952584f2d
1011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang# Copyright (C) 2012 The Android Open Source Project 2011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang# 3011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang# Licensed under the Apache License, Version 2.0 (the "License"); 4011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang# you may not use this file except in compliance with the License. 5011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang# You may obtain a copy of the License at 6011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang# 7011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang# http://www.apache.org/licenses/LICENSE-2.0 8011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang# 9011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang# Unless required by applicable law or agreed to in writing, software 10011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang# distributed under the License is distributed on an "AS IS" BASIS, 11011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang# See the License for the specific language governing permissions and 13011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang# limitations under the License. 14011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang# 15011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang 16011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang ChuangLOCAL_PATH := $(call my-dir) 17011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang 18011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang ChuangTEST_ART_RUN_TEST_MAKE_TARGETS := 19011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang 20011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang# Helper to create individual build targets for tests. 21011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang# Must be called with $(eval) 22011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang# $(1): the test number 23011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuangdefine declare-make-art-run-test 24011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuangdmart_target := $(TARGET_OUT_DATA)/art-run-tests/$(1)/touch 256674f8ae6bb390e61cfdccb6e5825ac952584f2dTsu Chiang Chuang$$(dmart_target): $(DX) $(HOST_OUT_EXECUTABLES)/jasmin 26011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang $(hide) rm -rf $$(dir $$@) && mkdir -p $$(dir $$@) 276674f8ae6bb390e61cfdccb6e5825ac952584f2dTsu Chiang Chuang $(hide) DX=$(abspath $(DX)) JASMIN=$(abspath $(HOST_OUT_EXECUTABLES)/jasmin) $(LOCAL_PATH)/run-test --build-only --output-path $$(abspath $$(dir $$@)) $(1) 28011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang $(hide) touch $$@ 29011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang 30011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang ChuangTEST_ART_RUN_TEST_MAKE_TARGETS += $$(dmart_target) 31011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuangdmart_target := 32011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuangendef 33011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang 34011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang# Expand all tests. 35011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang$(foreach test, $(wildcard art/test/[0-9]*), $(eval $(call declare-make-art-run-test,$(notdir $(test))))) 36011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang 37011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuanginclude $(CLEAR_VARS) 38011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang ChuangLOCAL_MODULE_TAGS := tests 39011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang ChuangLOCAL_MODULE := art-run-tests 40011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang ChuangLOCAL_ADDITIONAL_DEPENDENCIES := $(TEST_ART_RUN_TEST_MAKE_TARGETS) 41011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuanginclude $(BUILD_PHONY_PACKAGE) 42011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang 43011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuang# clear temp vars 44011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang ChuangTEST_ART_RUN_TEST_MAKE_TARGETS := 45011fade82899fe3607789ca061e3a6c7fa4c71f4Tsu Chiang Chuangdeclare-make-art-run-test := 46