Android.mk revision 3cb2639f22f8aaf46852c9f03e825e05fc7e7362
130c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root# Copyright (C) 2009 The Android Open Source Project
230c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root#
330c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root# Licensed under the Apache License, Version 2.0 (the "License");
430c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root# you may not use this file except in compliance with the License.
530c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root# You may obtain a copy of the License at
630c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root#
730c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root#      http://www.apache.org/licenses/LICENSE-2.0
830c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root#
930c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root# Unless required by applicable law or agreed to in writing, software
1030c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root# distributed under the License is distributed on an "AS IS" BASIS,
1130c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1230c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root# See the License for the specific language governing permissions and
1330c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root# limitations under the License.
1430c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root#
1530c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root# Build control file for Bionic's test programs
1630c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root# define the BIONIC_TESTS environment variable to build the test programs
1730c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root#
1830c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root
1930c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Rootifdef BIONIC_TESTS
2030c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root
2130c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny RootLOCAL_PATH:= $(call my-dir)
2230c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root
2330c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root# used to define a simple test program and build it as a standalone
24735de3b38abbd6564082a819377673ee593744a6Kenny Root# device executable.
2530c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root#
2630c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root# you can use EXTRA_CFLAGS to indicate additional CFLAGS to use
2730c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root# in the build. the variable will be cleaned on exit
2830c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root#
2930c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Rootdefine device-test
3030c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root  $(foreach file,$(1), \
3130c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root    $(eval include $(CLEAR_VARS)) \
3230c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root    $(eval LOCAL_SRC_FILES := $(file)) \
3330c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root    $(eval LOCAL_MODULE := $(notdir $(file:%.cpp=%))) \
3430c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root    $(eval $(info LOCAL_MODULE=$(LOCAL_MODULE))) \
3530c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root    $(eval LOCAL_CFLAGS += $(EXTRA_CFLAGS)) \
3630c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root    $(eval LOCAL_MODULE_TAGS := tests) \
3730c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root    $(eval include $(BUILD_EXECUTABLE)) \
383b1abba6bbc895d63da3e82e9b158c01bd12edddKenny Root  ) \
3930c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root  $(eval EXTRA_CFLAGS :=)
4030c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Rootendef
4130c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root
4230c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root# same as 'device-test' but builds a host executable instead
4330c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root# you can use EXTRA_LDLIBS to indicate additional linker flags
4430c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root#
4530c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Rootdefine host-test
4630c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root  $(foreach file,$(1), \
4730c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root    $(eval include $(CLEAR_VARS)) \
4830c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root    $(eval LOCAL_SRC_FILES := $(file)) \
4930c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root    $(eval LOCAL_MODULE := $(notdir $(file:%.cpp=%))) \
5030c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root    $(eval $(info LOCAL_MODULE=$(LOCAL_MODULE) file=$(file))) \
5130c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root    $(eval LOCAL_CFLAGS += $(EXTRA_CFLAGS)) \
5230c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root    $(eval LOCAL_LDLIBS += $(EXTRA_LDLIBS)) \
5330c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root    $(eval LOCAL_MODULE_TAGS := tests) \
5430c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root    $(eval include $(BUILD_HOST_EXECUTABLE)) \
5530c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root  ) \
5630c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root  $(eval EXTRA_CFLAGS :=) \
5730c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root  $(eval EXTRA_LDLIBS :=)
5830c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Rootendef
5930c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root
6030c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Rootsources := \
6130c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root    test_cstddef.cpp
6230c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root
6330c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root$(call host-test, $(sources))
6430c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root$(call device-test, $(sources))
6530c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root
6630c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Rootendif  # BIONIC_TESTS
6730c1102fecda5e9ef071c58c0e54b721961ae4e3Kenny Root