Home | History | Annotate | Download | only in split-select
      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