fdo.mk revision 25671e15cc1b199ca693f95864ab93a63909a526
1#
2# Copyright (C) 2006 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17# Setup FDO related flags.
18
19$(combo_2nd_arch_prefix)TARGET_FDO_CFLAGS:=
20$(combo_2nd_arch_prefix)TARGET_FDO_LIB:=
21
22ifneq ($(strip $(BUILD_FDO_INSTRUMENT)),)
23  # Set BUILD_FDO_INSTRUMENT=true to turn on FDO instrumentation.
24  # The profile will be generated on /data/local/tmp/profile on the device.
25  $(combo_2nd_arch_prefix)TARGET_FDO_CFLAGS := -fprofile-generate=/data/local/tmp/fdo_profile -DANDROID_FDO
26  $(combo_2nd_arch_prefix)TARGET_FDO_LIB := $(target_libgcov)
27else
28  ifneq ($(strip $(BUILD_FDO_OPTIMIZE)),)
29    # Set TARGET_FDO_PROFILE_PATH to set a custom profile directory for your build.
30    ifeq ($(strip $($(combo_2nd_arch_prefix)TARGET_FDO_PROFILE_PATH)),)
31      $(combo_2nd_arch_prefix)TARGET_FDO_PROFILE_PATH := fdo_profiles
32    endif
33
34    ifneq ($(strip $(wildcard $($(combo_2nd_arch_prefix)TARGET_FDO_PROFILE_PATH))),)
35      $(combo_2nd_arch_prefix)TARGET_FDO_CFLAGS := -fprofile-use=$($(combo_2nd_arch_prefix)TARGET_FDO_PROFILE_PATH) -DANDROID_FDO -fprofile-correction -Wcoverage-mismatch -Wno-error
36      $(combo_2nd_arch_prefix)TARGET_FDO_LIB := $(target_libgcov)
37    else
38      $(warning Profile directory $($(combo_2nd_arch_prefix)TARGET_FDO_PROFILE_PATH) does not exist. Turn off FDO.)
39    endif
40  endif
41endif
42