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 aaptHostStaticLibs := \
     58     libandroidfw \
     59     libpng \
     60     libutils \
     61     liblog \
     62     libcutils \
     63     libexpat \
     64     libziparchive-host \
     65     libbase
     66 
     67 aaptCFlags := -DAAPT_VERSION=\"$(BUILD_NUMBER_FROM_FILE)\"
     68 aaptCFlags += -Wall -Werror
     69 
     70 aaptHostLdLibs_linux := -lrt -ldl -lpthread
     71 
     72 # Statically link libz for MinGW (Win SDK under Linux),
     73 # and dynamically link for all others.
     74 aaptHostStaticLibs_windows := libz
     75 aaptHostLdLibs_linux += -lz
     76 aaptHostLdLibs_darwin := -lz
     77 
     78 
     79 # ==========================================================
     80 # Build the host static library: libaapt
     81 # ==========================================================
     82 include $(CLEAR_VARS)
     83 
     84 LOCAL_MODULE := libaapt
     85 LOCAL_MODULE_HOST_OS := darwin linux windows
     86 LOCAL_CFLAGS := -Wno-format-y2k -DSTATIC_ANDROIDFW_FOR_TOOLS $(aaptCFlags)
     87 LOCAL_CPPFLAGS := $(aaptCppFlags)
     88 LOCAL_CFLAGS_darwin := -D_DARWIN_UNLIMITED_STREAMS
     89 LOCAL_SRC_FILES := $(aaptSources)
     90 LOCAL_STATIC_LIBRARIES := $(aaptHostStaticLibs)
     91 LOCAL_STATIC_LIBRARIES_windows := $(aaptHostStaticLibs_windows)
     92 
     93 include $(BUILD_HOST_STATIC_LIBRARY)
     94 
     95 # ==========================================================
     96 # Build the host executable: aapt
     97 # ==========================================================
     98 include $(CLEAR_VARS)
     99 
    100 LOCAL_MODULE := aapt
    101 LOCAL_MODULE_HOST_OS := darwin linux windows
    102 LOCAL_CFLAGS := $(aaptCFlags)
    103 LOCAL_CPPFLAGS := $(aaptCppFlags)
    104 LOCAL_LDLIBS_darwin := $(aaptHostLdLibs_darwin)
    105 LOCAL_LDLIBS_linux := $(aaptHostLdLibs_linux)
    106 LOCAL_SRC_FILES := $(aaptMain)
    107 LOCAL_STATIC_LIBRARIES := libaapt $(aaptHostStaticLibs)
    108 LOCAL_STATIC_LIBRARIES_windows := $(aaptHostStaticLibs_windows)
    109 
    110 include $(BUILD_HOST_EXECUTABLE)
    111 
    112 
    113 # ==========================================================
    114 # Build the host tests: libaapt_tests
    115 # ==========================================================
    116 include $(CLEAR_VARS)
    117 
    118 LOCAL_MODULE := libaapt_tests
    119 LOCAL_CFLAGS := $(aaptCFlags)
    120 LOCAL_CPPFLAGS := $(aaptCppFlags)
    121 LOCAL_LDLIBS_darwin := $(aaptHostLdLibs_darwin)
    122 LOCAL_LDLIBS_linux := $(aaptHostLdLibs_linux)
    123 LOCAL_SRC_FILES := $(aaptTests)
    124 LOCAL_C_INCLUDES := $(LOCAL_PATH)
    125 LOCAL_STATIC_LIBRARIES := libaapt $(aaptHostStaticLibs)
    126 LOCAL_STATIC_LIBRARIES_windows := $(aaptHostStaticLibs_windows)
    127 
    128 include $(BUILD_HOST_NATIVE_TEST)
    129 
    130 
    131 endif # No TARGET_BUILD_APPS or TARGET_BUILD_PDK
    132