1 # 2 # Copyright (C) 2014 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 # This tool is prebuilt if we're doing an app-only build. 18 ifeq ($(TARGET_BUILD_APPS)$(filter true,$(TARGET_BUILD_PDK)),) 19 20 # ========================================================== 21 # Setup some common variables for the different build 22 # targets here. 23 # ========================================================== 24 LOCAL_PATH:= $(call my-dir) 25 26 main := Main.cpp 27 sources := \ 28 Abi.cpp \ 29 Grouper.cpp \ 30 Rule.cpp \ 31 RuleGenerator.cpp \ 32 SplitDescription.cpp \ 33 SplitSelector.cpp 34 35 testSources := \ 36 Grouper_test.cpp \ 37 Rule_test.cpp \ 38 RuleGenerator_test.cpp \ 39 SplitSelector_test.cpp \ 40 TestRules.cpp 41 42 cIncludes := \ 43 external/zlib \ 44 frameworks/base/tools 45 46 hostLdLibs := 47 hostStaticLibs := \ 48 libaapt \ 49 libandroidfw \ 50 libpng \ 51 liblog \ 52 libutils \ 53 libcutils \ 54 libexpat \ 55 libziparchive-host 56 57 cFlags := -Wall -Werror 58 59 ifeq ($(HOST_OS),linux) 60 hostLdLibs += -lrt -ldl -lpthread 61 endif 62 63 # Statically link libz for MinGW (Win SDK under Linux), 64 # and dynamically link for all others. 65 ifneq ($(strip $(USE_MINGW)),) 66 hostStaticLibs += libz 67 else 68 hostLdLibs += -lz 69 endif 70 71 72 # ========================================================== 73 # Build the host static library: libsplit-select 74 # ========================================================== 75 include $(CLEAR_VARS) 76 LOCAL_MODULE := libsplit-select 77 78 LOCAL_SRC_FILES := $(sources) 79 80 LOCAL_C_INCLUDES += $(cIncludes) 81 LOCAL_CFLAGS += $(cFlags) -D_DARWIN_UNLIMITED_STREAMS 82 83 include $(BUILD_HOST_STATIC_LIBRARY) 84 85 86 # ========================================================== 87 # Build the host tests: libsplit-select_tests 88 # ========================================================== 89 include $(CLEAR_VARS) 90 LOCAL_MODULE := libsplit-select_tests 91 LOCAL_MODULE_TAGS := tests 92 93 LOCAL_SRC_FILES := $(testSources) 94 95 LOCAL_C_INCLUDES += $(cIncludes) 96 LOCAL_STATIC_LIBRARIES += libsplit-select $(hostStaticLibs) 97 LOCAL_LDLIBS += $(hostLdLibs) 98 LOCAL_CFLAGS += $(cFlags) 99 100 include $(BUILD_HOST_NATIVE_TEST) 101 102 # ========================================================== 103 # Build the host executable: split-select 104 # ========================================================== 105 include $(CLEAR_VARS) 106 LOCAL_MODULE := split-select 107 108 LOCAL_SRC_FILES := $(main) 109 110 LOCAL_C_INCLUDES += $(cIncludes) 111 LOCAL_STATIC_LIBRARIES += libsplit-select $(hostStaticLibs) 112 LOCAL_LDLIBS += $(hostLdLibs) 113 LOCAL_CFLAGS += $(cFlags) 114 115 include $(BUILD_HOST_EXECUTABLE) 116 117 endif # No TARGET_BUILD_APPS or TARGET_BUILD_PDK 118