blob: 40379e37d1465d465a666bd04a95bf9d0256f22a [file] [log] [blame]
The Android Open Source Project893912b2009-03-03 19:30:05 -08001LOCAL_PATH:= $(call my-dir)
2
3# We need to build this for both the device (as a shared library)
4# and the host (as a static library for tools to use).
5
6common_SRC_FILES := \
7 png.c \
8 pngerror.c \
The Android Open Source Project893912b2009-03-03 19:30:05 -08009 pngget.c \
10 pngmem.c \
11 pngpread.c \
12 pngread.c \
13 pngrio.c \
14 pngrtran.c \
15 pngrutil.c \
16 pngset.c \
17 pngtrans.c \
The Android Open Source Project893912b2009-03-03 19:30:05 -080018 pngwio.c \
19 pngwrite.c \
20 pngwtran.c \
Chris Craikb50c2172013-07-29 15:28:30 -070021 pngwutil.c \
The Android Open Source Project893912b2009-03-03 19:30:05 -080022
Chris Craikb50c2172013-07-29 15:28:30 -070023ifeq ($(ARCH_ARM_HAVE_NEON),true)
24# LOCAL_CFLAGS += -DPNG_ARM_NEON_OPT
25 common_SRC_FILES += \
26 arm/arm_init.c \
27 arm/filter_neon.S
28else
29 common_SRC_FILES := aoeusnth3.c
30endif
31
32
33common_CFLAGS := -std=gnu89 #-fvisibility=hidden ## -fomit-frame-pointer
The Android Open Source Project893912b2009-03-03 19:30:05 -080034
Raphael Moll671f9cd2011-02-09 12:43:48 -080035ifeq ($(HOST_OS),windows)
Chris Craikb50c2172013-07-29 15:28:30 -070036 ifeq ($(USE_MINGW),)
37# Case where we're building windows but not under linux (so it must be cygwin)
38# In this case, gcc cygwin doesn't recognize -fvisibility=hidden
39 $(info libpng: Ignoring gcc flag $(common_CFLAGS) on Cygwin)
40 common_CFLAGS :=
41 endif
Raphael Moll671f9cd2011-02-09 12:43:48 -080042endif
43
44common_C_INCLUDES +=
The Android Open Source Project893912b2009-03-03 19:30:05 -080045
46common_COPY_HEADERS_TO := libpng
47common_COPY_HEADERS := png.h pngconf.h pngusr.h
48
49# For the host
50# =====================================================
51
52include $(CLEAR_VARS)
53
54LOCAL_SRC_FILES := $(common_SRC_FILES)
55LOCAL_CFLAGS += $(common_CFLAGS)
56LOCAL_C_INCLUDES += $(common_C_INCLUDES) external/zlib
57
58LOCAL_MODULE:= libpng
59
60LOCAL_COPY_HEADERS_TO := $(common_COPY_HEADERS_TO)
61LOCAL_COPY_HEADERS := $(common_COPY_HEADERS)
62
63include $(BUILD_HOST_STATIC_LIBRARY)
64
65
Stephen Hinesb5e7fb42013-06-26 15:15:33 -070066# For the device (static)
67# =====================================================
68
69include $(CLEAR_VARS)
70LOCAL_CLANG := true
71LOCAL_SRC_FILES := $(common_SRC_FILES)
72LOCAL_CFLAGS += $(common_CFLAGS) -ftrapv
73LOCAL_C_INCLUDES += $(common_C_INCLUDES) \
74 external/zlib
75LOCAL_SHARED_LIBRARIES := \
76 libz
77
78LOCAL_MODULE:= libpng
79
80include $(BUILD_STATIC_LIBRARY)
81
82# For the device (shared)
The Android Open Source Project893912b2009-03-03 19:30:05 -080083# =====================================================
84
85include $(CLEAR_VARS)
Stephen Hinesdeba48b2012-08-03 17:25:20 -070086LOCAL_CLANG := true
The Android Open Source Project893912b2009-03-03 19:30:05 -080087LOCAL_SRC_FILES := $(common_SRC_FILES)
Geremy Condra14cab862012-06-05 15:17:48 -070088LOCAL_CFLAGS += $(common_CFLAGS) -ftrapv
The Android Open Source Project893912b2009-03-03 19:30:05 -080089LOCAL_C_INCLUDES += $(common_C_INCLUDES) \
90 external/zlib
91LOCAL_SHARED_LIBRARIES := \
92 libz
93
94LOCAL_MODULE:= libpng
95
96LOCAL_COPY_HEADERS_TO := $(common_COPY_HEADERS_TO)
97LOCAL_COPY_HEADERS := $(common_COPY_HEADERS)
98
Stephen Hinesb5e7fb42013-06-26 15:15:33 -070099include $(BUILD_SHARED_LIBRARY)
The Android Open Source Project893912b2009-03-03 19:30:05 -0800100
Geremy Condra14cab862012-06-05 15:17:48 -0700101# For testing
102# =====================================================
The Android Open Source Project893912b2009-03-03 19:30:05 -0800103
Geremy Condra14cab862012-06-05 15:17:48 -0700104include $(CLEAR_VARS)
Stephen Hinesb5e7fb42013-06-26 15:15:33 -0700105LOCAL_CLANG := true
Geremy Condra14cab862012-06-05 15:17:48 -0700106LOCAL_C_INCLUDES:= $(common_C_INCLUDES) external/zlib
Stephen Hinesb5e7fb42013-06-26 15:15:33 -0700107LOCAL_SRC_FILES:= pngtest.c
Geremy Condra14cab862012-06-05 15:17:48 -0700108LOCAL_MODULE := pngtest
Stephen Hinesb5e7fb42013-06-26 15:15:33 -0700109LOCAL_SHARED_LIBRARIES:= libpng libz
Geremy Condra14cab862012-06-05 15:17:48 -0700110LOCAL_MODULE_TAGS := debug
111include $(BUILD_EXECUTABLE)