1# Google Android makefile for curl and libcurl 2# 3# This file is an updated version of Dan Fandrich's Android.mk, meant to build 4# curl for ToT android with the android build system. 5 6LOCAL_PATH:= $(call my-dir) 7 8# Curl needs a version string. 9# As this will be compiled on multiple platforms, generate a version string from 10# the build environment variables. 11version_string := "Android $(PLATFORM_VERSION) $(TARGET_ARCH_VARIANT)" 12 13curl_CFLAGS := -Wpointer-arith -Wwrite-strings -Wunused -Winline \ 14 -Wnested-externs -Wmissing-declarations -Wmissing-prototypes -Wno-long-long \ 15 -Wfloat-equal -Wno-multichar -Wno-sign-compare -Wno-format-nonliteral \ 16 -Wendif-labels -Wstrict-prototypes -Wdeclaration-after-statement \ 17 -Wno-system-headers -DHAVE_CONFIG_H -DOS='$(version_string)' -Werror \ 18 -DBUILDING_LIBCURL 19 20curl_includes := \ 21 $(LOCAL_PATH)/include/ \ 22 $(LOCAL_PATH)/lib 23 24######################### 25# Build the libcurl static library 26 27include $(CLEAR_VARS) 28include $(LOCAL_PATH)/lib/Makefile.inc 29 30LOCAL_SRC_FILES := $(addprefix lib/,$(CSOURCES)) 31LOCAL_C_INCLUDES := $(curl_includes) 32LOCAL_CFLAGS := $(curl_CFLAGS) 33LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include 34 35LOCAL_MODULE:= libcurl 36LOCAL_MODULE_TAGS := optional 37LOCAL_STATIC_LIBRARIES := libcrypto_static libz 38 39include $(BUILD_STATIC_LIBRARY) 40 41######################### 42# Build the libcurl shared library 43 44libcurl_shared_libs := libcrypto libssl libz 45 46include $(CLEAR_VARS) 47include $(LOCAL_PATH)/lib/Makefile.inc 48 49LOCAL_SRC_FILES := $(addprefix lib/,$(CSOURCES)) 50LOCAL_C_INCLUDES := $(curl_includes) 51LOCAL_CFLAGS := \ 52 $(curl_CFLAGS) \ 53 -D_GNU_SOURCE=1 54LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include 55 56LOCAL_MODULE:= libcurl-host 57LOCAL_MODULE_TAGS := optional 58LOCAL_SHARED_LIBRARIES := $(libcurl_shared_libs:=-host) 59 60include $(BUILD_HOST_SHARED_LIBRARY) 61 62include $(CLEAR_VARS) 63include $(LOCAL_PATH)/lib/Makefile.inc 64 65LOCAL_SRC_FILES := $(addprefix lib/,$(CSOURCES)) 66LOCAL_C_INCLUDES := $(curl_includes) 67LOCAL_CFLAGS := $(curl_CFLAGS) 68LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include 69 70LOCAL_MODULE:= libcurl 71LOCAL_MODULE_TAGS := optional 72LOCAL_SHARED_LIBRARIES := $(libcurl_shared_libs) 73 74include $(BUILD_SHARED_LIBRARY) 75 76######################### 77# Build the curl binary 78 79include $(CLEAR_VARS) 80include $(LOCAL_PATH)/src/Makefile.inc 81LOCAL_SRC_FILES := $(addprefix src/,$(CURL_CFILES)) 82 83LOCAL_MODULE := curl 84LOCAL_MODULE_TAGS := optional 85LOCAL_STATIC_LIBRARIES := libcurl 86LOCAL_SHARED_LIBRARIES := libcrypto libssl libz 87 88LOCAL_C_INCLUDES := $(curl_includes) 89 90# This may also need to include $(CURLX_CFILES) in order to correctly link 91# if libcurl is changed to be built as a dynamic library 92LOCAL_CFLAGS := $(curl_CFLAGS) 93 94include $(BUILD_EXECUTABLE) 95