Home | History | Annotate | Download | only in aapt
      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 aaptMain := Main.cpp
     27 aaptSources := \
     28     AaptAssets.cpp \
     29     AaptConfig.cpp \
     30     AaptUtil.cpp \
     31     AaptXml.cpp \
     32     ApkBuilder.cpp \
     33     Command.cpp \
     34     CrunchCache.cpp \
     35     FileFinder.cpp \
     36     Images.cpp \
     37     Package.cpp \
     38     pseudolocalize.cpp \
     39     Resource.cpp \
     40     ResourceFilter.cpp \
     41     ResourceIdCache.cpp \
     42     ResourceTable.cpp \
     43     SourcePos.cpp \
     44     StringPool.cpp \
     45     WorkQueue.cpp \
     46     XMLNode.cpp \
     47     ZipEntry.cpp \
     48     ZipFile.cpp
     49 
     50 aaptTests := \
     51     tests/AaptConfig_test.cpp \
     52     tests/AaptGroupEntry_test.cpp \
     53     tests/Pseudolocales_test.cpp \
     54     tests/ResourceFilter_test.cpp \
     55     tests/ResourceTable_test.cpp
     56 
     57 aaptCIncludes := \
     58     system/core/base/include \
     59     external/libpng \
     60     external/zlib
     61 
     62 aaptHostLdLibs :=
     63 aaptHostStaticLibs := \
     64     libandroidfw \
     65     libpng \
     66     liblog \
     67     libutils \
     68     libcutils \
     69     libexpat \
     70     libziparchive-host \
     71     libbase
     72 
     73 aaptCFlags := -DAAPT_VERSION=\"$(BUILD_NUMBER)\"
     74 aaptCFlags += -Wall -Werror
     75 
     76 ifeq ($(HOST_OS),linux)
     77     aaptHostLdLibs += -lrt -ldl -lpthread
     78 endif
     79 
     80 # Statically link libz for MinGW (Win SDK under Linux),
     81 # and dynamically link for all others.
     82 ifneq ($(strip $(USE_MINGW)),)
     83     aaptHostStaticLibs += libz
     84 else
     85     aaptHostLdLibs += -lz
     86 endif
     87 
     88 
     89 # ==========================================================
     90 # Build the host static library: libaapt
     91 # ==========================================================
     92 include $(CLEAR_VARS)
     93 
     94 LOCAL_MODULE := libaapt
     95 LOCAL_CFLAGS += -Wno-format-y2k -DSTATIC_ANDROIDFW_FOR_TOOLS $(aaptCFlags)
     96 LOCAL_CPPFLAGS += $(aaptCppFlags)
     97 ifeq (darwin,$(HOST_OS))
     98 LOCAL_CFLAGS += -D_DARWIN_UNLIMITED_STREAMS
     99 endif
    100 LOCAL_C_INCLUDES += $(aaptCIncludes)
    101 LOCAL_SRC_FILES := $(aaptSources)
    102 
    103 include $(BUILD_HOST_STATIC_LIBRARY)
    104 
    105 # ==========================================================
    106 # Build the host executable: aapt
    107 # ==========================================================
    108 include $(CLEAR_VARS)
    109 
    110 LOCAL_MODULE := aapt
    111 LOCAL_CFLAGS += $(aaptCFlags)
    112 LOCAL_CPPFLAGS += $(aaptCppFlags)
    113 LOCAL_LDLIBS += $(aaptHostLdLibs)
    114 LOCAL_SRC_FILES := $(aaptMain)
    115 LOCAL_STATIC_LIBRARIES += libaapt $(aaptHostStaticLibs)
    116 
    117 include $(BUILD_HOST_EXECUTABLE)
    118 
    119 
    120 # ==========================================================
    121 # Build the host tests: libaapt_tests
    122 # ==========================================================
    123 include $(CLEAR_VARS)
    124 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
    125 
    126 LOCAL_MODULE := libaapt_tests
    127 LOCAL_CFLAGS += $(aaptCFlags)
    128 LOCAL_CPPFLAGS += $(aaptCppFlags)
    129 LOCAL_LDLIBS += $(aaptHostLdLibs)
    130 LOCAL_SRC_FILES += $(aaptTests)
    131 LOCAL_C_INCLUDES += $(LOCAL_PATH)
    132 LOCAL_STATIC_LIBRARIES += libaapt $(aaptHostStaticLibs)
    133 
    134 include $(BUILD_HOST_NATIVE_TEST)
    135 
    136 
    137 endif # No TARGET_BUILD_APPS or TARGET_BUILD_PDK
    138