1# Copyright (C) 2010 The Android Open Source Project 2# 3# Licensed under the Apache License, Version 2.0 (the "License"); 4# you may not use this file except in compliance with the License. 5# You may obtain a copy of the License at 6# 7# http://www.apache.org/licenses/LICENSE-2.0 8# 9# Unless required by applicable law or agreed to in writing, software 10# distributed under the License is distributed on an "AS IS" BASIS, 11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12# See the License for the specific language governing permissions and 13# limitations under the License. 14 15LOCAL_PATH:= $(call my-dir) 16include $(CLEAR_VARS) 17 18LOCAL_MODULE:= libpcre 19 20intermediatesSrc := $(call intermediates-dir-for,STATIC_LIBRARIES,libpcre,HOST,)/pcre/src 21intermediatesInc := $(call intermediates-dir-for,STATIC_LIBRARIES,libpcre,HOST,)/pcre/include 22 23pcre_generated_header1 := $(intermediatesInc)/pcre.h 24$(pcre_generated_header1): PRIVATE_INPUT_FILE := $(LOCAL_PATH)/pcre.h.generic 25$(pcre_generated_header1): PRIVATE_CUSTOM_TOOL = cp -f $(PRIVATE_INPUT_FILE) $@ 26$(pcre_generated_header1): $(LOCAL_PATH)/pcre.h.generic 27 $(transform-generated-source) 28 29pcre_generated_header2 := $(intermediatesInc)/config.h 30$(pcre_generated_header2): PRIVATE_INPUT_FILE := $(LOCAL_PATH)/config.h.android 31$(pcre_generated_header2): PRIVATE_CUSTOM_TOOL = cp -f $(PRIVATE_INPUT_FILE) $@ 32$(pcre_generated_header2): $(LOCAL_PATH)/config.h.android 33 $(transform-generated-source) 34 35GEN := $(intermediatesSrc)/pcre_chartables.c 36$(GEN): PRIVATE_INPUT_FILE := $(LOCAL_PATH)/pcre_chartables.c.dist 37$(GEN): PRIVATE_CUSTOM_TOOL = cp -f $(PRIVATE_INPUT_FILE) $@ 38$(GEN): $(LOCAL_PATH)/pcre_chartables.c.dist 39 $(transform-generated-source) 40LOCAL_GENERATED_SOURCES += $(GEN) 41$(GEN) : $(pcre_generated_header1) $(pcre_generated_header2) 42 43LOCAL_C_INCLUDES += $(intermediatesInc) 44 45PCRE_SRC_FILES := \ 46 pcre_compile.c \ 47 pcre_config.c \ 48 pcre_dfa_exec.c \ 49 pcre_exec.c \ 50 pcre_fullinfo.c \ 51 pcre_get.c \ 52 pcre_globals.c \ 53 pcre_info.c \ 54 pcre_newline.c \ 55 pcre_maketables.c \ 56 pcre_ord2utf8.c \ 57 pcre_refcount.c \ 58 pcre_study.c \ 59 pcre_tables.c \ 60 pcre_try_flipped.c \ 61 pcre_ucd.c \ 62 pcre_valid_utf8.c \ 63 pcre_version.c \ 64 pcre_xclass.c 65 66# For the host 67# ======================================================== 68LOCAL_SRC_FILES := $(PCRE_SRC_FILES) 69 70LOCAL_MODULE_TAGS := optional 71LOCAL_CFLAGS += -DHAVE_CONFIG_H 72LOCAL_CFLAGS += -fPIC 73include $(BUILD_HOST_STATIC_LIBRARY) 74 75# Now we build pcrecpp 76include $(CLEAR_VARS) 77 78LOCAL_MODULE:= libpcrecpp 79pcrecppIntermediatesInc := $(call intermediates-dir-for,STATIC_LIBRARIES,libpcrecpp,HOST,)/pcrecpp/include 80 81pcre_cpp_generated_header1 := $(pcrecppIntermediatesInc)/pcre_stringpiece.h 82$(pcre_cpp_generated_header1): PRIVATE_INPUT_FILE := $(LOCAL_PATH)/pcre_stringpiece.h.android 83$(pcre_cpp_generated_header1): PRIVATE_CUSTOM_TOOL = cp -f $(PRIVATE_INPUT_FILE) $@ 84$(pcre_cpp_generated_header1): $(LOCAL_PATH)/pcre_stringpiece.h.android 85 $(transform-generated-source) 86 87pcre_cpp_generated_header2 := $(pcrecppIntermediatesInc)/pcrecpparg.h 88$(pcre_cpp_generated_header2): PRIVATE_INPUT_FILE := $(LOCAL_PATH)/pcrecpparg.h.android 89$(pcre_cpp_generated_header2): PRIVATE_CUSTOM_TOOL = cp -f $(PRIVATE_INPUT_FILE) $@ 90$(pcre_cpp_generated_header2): $(LOCAL_PATH)/pcrecpparg.h.android 91$(pcre_cpp_generated_header2): $(pcre_generated_header1) 92 $(transform-generated-source) 93LOCAL_GENERATED_SOURCES += $(pcre_cpp_generated_header1) $(pcre_cpp_generated_header2) $(pcre_generated_header1) 94 95LOCAL_C_INCLUDES += $(intermediatesInc) 96LOCAL_C_INCLUDES += $(pcrecppIntermediatesInc) 97 98LOCAL_CPP_EXTENSION := .cc 99 100PCRE_CPP_SRC_FILES := \ 101 pcrecpp.cc \ 102 pcre_scanner.cc \ 103 pcre_stringpiece.cc 104 105LOCAL_SRC_FILES := $(PCRE_CPP_SRC_FILES) 106 107LOCAL_MODULE_TAGS := optional 108LOCAL_CFLAGS += -fPIC 109include $(BUILD_HOST_STATIC_LIBRARY) 110