94 lines
2.7 KiB
Makefile
94 lines
2.7 KiB
Makefile
# Google Android makefile for curl and libcurl
|
|
#
|
|
# This file is an updated version of Dan Fandrich's Android.mk, meant to build
|
|
# curl for ToT android with the android build system.
|
|
|
|
LOCAL_PATH:= $(call my-dir)
|
|
|
|
# Curl needs a version string.
|
|
# As this will be compiled on multiple platforms, generate a version string from
|
|
# the build environment variables.
|
|
version_string := "Android $(PLATFORM_VERSION) $(TARGET_ARCH_VARIANT)"
|
|
|
|
curl_CFLAGS := -Wpointer-arith -Wwrite-strings -Wunused -Winline \
|
|
-Wnested-externs -Wmissing-declarations -Wmissing-prototypes -Wno-long-long \
|
|
-Wfloat-equal -Wno-multichar -Wno-sign-compare -Wno-format-nonliteral \
|
|
-Wendif-labels -Wstrict-prototypes -Wdeclaration-after-statement \
|
|
-Wno-system-headers -DHAVE_CONFIG_H -DOS='$(version_string)' -Werror \
|
|
-DBUILDING_LIBCURL
|
|
|
|
curl_includes := \
|
|
$(LOCAL_PATH)/include/ \
|
|
$(LOCAL_PATH)/lib
|
|
|
|
#########################
|
|
# Build the libcurl static library
|
|
|
|
include $(CLEAR_VARS)
|
|
include $(LOCAL_PATH)/lib/Makefile.inc
|
|
|
|
LOCAL_SRC_FILES := $(addprefix lib/,$(CSOURCES))
|
|
LOCAL_C_INCLUDES := $(curl_includes)
|
|
LOCAL_CFLAGS := $(curl_CFLAGS)
|
|
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
|
|
|
|
LOCAL_MODULE:= libcurl
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_STATIC_LIBRARIES := libcrypto_static libz
|
|
|
|
include $(BUILD_STATIC_LIBRARY)
|
|
|
|
#########################
|
|
# Build the libcurl shared library
|
|
|
|
libcurl_shared_libs := libcrypto libssl libz
|
|
|
|
include $(CLEAR_VARS)
|
|
include $(LOCAL_PATH)/lib/Makefile.inc
|
|
|
|
LOCAL_SRC_FILES := $(addprefix lib/,$(CSOURCES))
|
|
LOCAL_C_INCLUDES := $(curl_includes)
|
|
LOCAL_CFLAGS := \
|
|
$(curl_CFLAGS) \
|
|
-D_GNU_SOURCE=1
|
|
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
|
|
|
|
LOCAL_MODULE:= libcurl-host
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_SHARED_LIBRARIES := $(libcurl_shared_libs:=-host)
|
|
|
|
include $(BUILD_HOST_SHARED_LIBRARY)
|
|
|
|
include $(CLEAR_VARS)
|
|
include $(LOCAL_PATH)/lib/Makefile.inc
|
|
|
|
LOCAL_SRC_FILES := $(addprefix lib/,$(CSOURCES))
|
|
LOCAL_C_INCLUDES := $(curl_includes)
|
|
LOCAL_CFLAGS := $(curl_CFLAGS)
|
|
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)/include
|
|
|
|
LOCAL_MODULE:= libcurl
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_SHARED_LIBRARIES := $(libcurl_shared_libs)
|
|
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
#########################
|
|
# Build the curl binary
|
|
|
|
include $(CLEAR_VARS)
|
|
include $(LOCAL_PATH)/src/Makefile.inc
|
|
LOCAL_SRC_FILES := $(addprefix src/,$(CURL_CFILES))
|
|
|
|
LOCAL_MODULE := curl
|
|
LOCAL_MODULE_TAGS := optional
|
|
LOCAL_STATIC_LIBRARIES := libcurl
|
|
LOCAL_SHARED_LIBRARIES := libcrypto libssl libz
|
|
|
|
LOCAL_C_INCLUDES := $(curl_includes)
|
|
|
|
# This may also need to include $(CURLX_CFILES) in order to correctly link
|
|
# if libcurl is changed to be built as a dynamic library
|
|
LOCAL_CFLAGS := $(curl_CFLAGS)
|
|
|
|
include $(BUILD_EXECUTABLE)
|