1 LOCAL_PATH:= $(call my-dir) 2 include $(CLEAR_VARS) 3 4 LOCAL_ARM_MODE := arm 5 6 LOCAL_SRC_FILES := \ 7 jcapimin.c jcapistd.c jccoefct.c jccolor.c jcdctmgr.c jchuff.c \ 8 jcinit.c jcmainct.c jcmarker.c jcmaster.c jcomapi.c jcparam.c \ 9 jcphuff.c jcprepct.c jcsample.c jctrans.c jdapimin.c jdapistd.c \ 10 jdatadst.c jdatasrc.c jdcoefct.c jdcolor.c jddctmgr.c jdhuff.c \ 11 jdinput.c jdmainct.c jdmarker.c jdmaster.c jdmerge.c jdphuff.c \ 12 jdpostct.c jdsample.c jdtrans.c jerror.c jfdctflt.c jfdctfst.c \ 13 jfdctint.c jidctflt.c jidctfst.c jidctint.c jidctred.c jquant1.c \ 14 jquant2.c jutils.c jmemmgr.c armv6_idct.S 15 16 ifeq (,$(TARGET_BUILD_APPS)) 17 # building against master 18 # use ashmem as libjpeg decoder's backing store 19 LOCAL_CFLAGS += -DUSE_ANDROID_ASHMEM 20 LOCAL_SRC_FILES += \ 21 jmem-ashmem.c 22 else 23 # unbundled branch, built against NDK. 24 LOCAL_SDK_VERSION := 17 25 # the original android memory manager. 26 # use sdcard as libjpeg decoder's backing store 27 LOCAL_SRC_FILES += \ 28 jmem-android.c 29 endif 30 31 LOCAL_CFLAGS += -DAVOID_TABLES 32 LOCAL_CFLAGS += -O3 -fstrict-aliasing -fprefetch-loop-arrays 33 #LOCAL_CFLAGS += -march=armv6j 34 35 # enable tile based decode 36 LOCAL_CFLAGS += -DANDROID_TILE_BASED_DECODE 37 38 ifeq ($(TARGET_ARCH),x86) 39 LOCAL_CFLAGS += -DANDROID_INTELSSE2_IDCT 40 LOCAL_SRC_FILES += jidctintelsse.c 41 endif 42 43 ifeq ($(strip $(TARGET_ARCH)),arm) 44 ifeq ($(ARCH_ARM_HAVE_NEON),true) 45 #use NEON accelerations 46 LOCAL_CFLAGS += -DNV_ARM_NEON 47 LOCAL_SRC_FILES += \ 48 jsimd_arm_neon.S \ 49 jsimd_neon.c 50 else 51 # enable armv6 idct assembly 52 LOCAL_CFLAGS += -DANDROID_ARMV6_IDCT 53 endif 54 endif 55 56 # use mips assembler IDCT implementation if MIPS DSP-ASE is present 57 ifeq ($(strip $(TARGET_ARCH)),mips) 58 ifeq ($(strip $(ARCH_MIPS_HAS_DSP)),true) 59 LOCAL_CFLAGS += -DANDROID_MIPS_IDCT 60 LOCAL_SRC_FILES += \ 61 mips_jidctfst.c \ 62 mips_idct_le.S 63 endif 64 endif 65 66 LOCAL_MODULE := libjpeg_static 67 68 include $(BUILD_STATIC_LIBRARY) 69 70 71 72 # Build shared library 73 include $(CLEAR_VARS) 74 75 LOCAL_MODULE := libjpeg 76 77 LOCAL_MODULE_TAGS := optional 78 79 LOCAL_WHOLE_STATIC_LIBRARIES = libjpeg_static 80 81 ifeq (,$(TARGET_BUILD_APPS)) 82 LOCAL_SHARED_LIBRARIES := \ 83 libcutils 84 else 85 # unbundled branch, built against NDK. 86 LOCAL_SDK_VERSION := 17 87 endif 88 89 include $(BUILD_SHARED_LIBRARY) 90 91 include $(CLEAR_VARS) 92 LOCAL_ARM_MODE := arm 93 LOCAL_SRC_FILES := \ 94 cjpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h rdswitch.c cdjpeg.c rdtarga.c rdppm.c rdgif.c rdbmp.c 95 LOCAL_MODULE:= cjpeg 96 LOCAL_MODULE_TAGS := eng 97 LOCAL_SHARED_LIBRARIES := libc libcutils libjpeg 98 include $(BUILD_EXECUTABLE) 99 100 include $(CLEAR_VARS) 101 LOCAL_ARM_MODE := arm 102 LOCAL_SRC_FILES := \ 103 djpeg.c cdjpeg.h jinclude.h jconfig.h jpeglib.h jmorecfg.h jerror.h cderror.h jversion.h cdjpeg.c wrppm.c wrgif.c wrbmp.c rdcolmap.c wrtarga.c 104 LOCAL_MODULE:= djpeg 105 LOCAL_MODULE_TAGS := eng 106 LOCAL_SHARED_LIBRARIES := libc libcutils libjpeg 107 include $(BUILD_EXECUTABLE) 108