This repository has been archived by the owner on Nov 8, 2023. It is now read-only.
/
Android.mk
157 lines (126 loc) · 4.04 KB
/
Android.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
LOCAL_PATH:=frameworks/rs
rs_base_CFLAGS := -Werror -Wall -Wno-unused-parameter -Wno-unused-variable \
-Wno-overloaded-virtual -DRS_COMPATIBILITY_LIB
ifeq ($(ARCH_ARM_HAVE_NEON),true)
rs_base_CFLAGS += -DARCH_ARM_HAVE_NEON
endif
ifeq ($(TARGET_BUILD_PDK), true)
rs_base_CFLAGS += -D__RS_PDK__
endif
# Build rsg-generator ====================
include $(CLEAR_VARS)
LOCAL_MODULE := rsg-generator_support
# These symbols are normally defined by BUILD_XXX, but we need to define them
# here so that local-intermediates-dir works.
LOCAL_IS_HOST_MODULE := true
LOCAL_MODULE_CLASS := EXECUTABLES
intermediates := $(local-intermediates-dir)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES:= \
spec.l \
rsg_generator.c
include $(BUILD_HOST_EXECUTABLE)
# TODO: This should go into build/core/config.mk
RSG_GENERATOR_SUPPORT:=$(LOCAL_BUILT_MODULE)
include $(CLEAR_VARS)
LOCAL_CLANG := true
LOCAL_MODULE := libRSSupport
LOCAL_SDK_VERSION := 8
# TODO: remove this once we have 64-bit NDK libraries.
LOCAL_32_BIT_ONLY := true
LOCAL_MODULE_CLASS := SHARED_LIBRARIES
generated_sources_dir := $(call local-generated-sources-dir)
# Generate custom headers
GEN := $(addprefix $(generated_sources_dir)/, \
rsgApiStructs.h \
rsgApiFuncDecl.h \
)
$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR_SUPPORT) $< $@ <$(PRIVATE_PATH)/rs.spec
$(GEN) : $(RSG_GENERATOR_SUPPORT) $(LOCAL_PATH)/rs.spec
$(GEN): $(generated_sources_dir)/%.h : $(LOCAL_PATH)/%.h.rsg
$(transform-generated-source)
# used in jni/Android.mk
rs_generated_source += $(GEN)
LOCAL_GENERATED_SOURCES += $(GEN)
# Generate custom source files
GEN := $(addprefix $(generated_sources_dir)/, \
rsgApi.cpp \
rsgApiReplay.cpp \
)
$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR_SUPPORT) $< $@ <$(PRIVATE_PATH)/rs.spec
$(GEN) : $(RSG_GENERATOR_SUPPORT) $(LOCAL_PATH)/rs.spec
$(GEN): $(generated_sources_dir)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg
$(transform-generated-source)
# used in jni/Android.mk
rs_generated_source += $(GEN)
LOCAL_GENERATED_SOURCES += $(GEN)
LOCAL_SRC_FILES:= \
rsAdapter.cpp \
rsAllocation.cpp \
rsCompatibilityLib.cpp \
rsComponent.cpp \
rsContext.cpp \
rsCppUtils.cpp \
rsDevice.cpp \
rsElement.cpp \
rsFifoSocket.cpp \
rsObjectBase.cpp \
rsMatrix2x2.cpp \
rsMatrix3x3.cpp \
rsMatrix4x4.cpp \
rsMutex.cpp \
rsSampler.cpp \
rsScript.cpp \
rsScriptC.cpp \
rsScriptC_Lib.cpp \
rsScriptGroup.cpp \
rsScriptIntrinsic.cpp \
rsSignal.cpp \
rsStream.cpp \
rsThreadIO.cpp \
rsType.cpp \
driver/rsdAllocation.cpp \
driver/rsdBcc.cpp \
driver/rsdCore.cpp \
driver/rsdRuntimeStubs.cpp \
driver/rsdSampler.cpp \
driver/rsdScriptGroup.cpp \
cpu_ref/rsCpuCore.cpp \
cpu_ref/rsCpuScript.cpp \
cpu_ref/rsCpuRuntimeMath.cpp \
cpu_ref/rsCpuRuntimeStubs.cpp \
cpu_ref/rsCpuScriptGroup.cpp \
cpu_ref/rsCpuIntrinsic.cpp \
cpu_ref/rsCpuIntrinsic3DLUT.cpp \
cpu_ref/rsCpuIntrinsicBlend.cpp \
cpu_ref/rsCpuIntrinsicBlur.cpp \
cpu_ref/rsCpuIntrinsicColorMatrix.cpp \
cpu_ref/rsCpuIntrinsicConvolve3x3.cpp \
cpu_ref/rsCpuIntrinsicConvolve5x5.cpp \
cpu_ref/rsCpuIntrinsicHistogram.cpp \
cpu_ref/rsCpuIntrinsicLUT.cpp \
cpu_ref/rsCpuIntrinsicYuvToRGB.cpp \
cpu_ref/rsCpuRuntimeMathFuncs.cpp
ifeq ($(ARCH_ARM_HAVE_ARMV7A),true)
LOCAL_CFLAGS_arm := -DARCH_ARM_HAVE_VFP
LOCAL_ASFLAGS_arm := -mfpu=neon
LOCAL_SRC_FILES_arm := \
cpu_ref/rsCpuIntrinsics_neon.S \
cpu_ref/rsCpuIntrinsics_neon_3DLUT.S \
cpu_ref/rsCpuIntrinsics_neon_ColorMatrix.S \
cpu_ref/rsCpuIntrinsics_neon_Blend.S \
cpu_ref/rsCpuIntrinsics_neon_Blur.S \
cpu_ref/rsCpuIntrinsics_neon_YuvToRGB.S
endif
LOCAL_LDFLAGS += -llog -ldl
LOCAL_NDK_STL_VARIANT := stlport_static
LOCAL_C_INCLUDES += frameworks/compile/libbcc/include
LOCAL_CFLAGS += $(rs_base_CFLAGS)
LOCAL_LDLIBS := -lpthread -ldl -lm
LOCAL_MODULE:= libRSSupport
LOCAL_MODULE_TAGS := optional
# TODO: why isn't this picked up from the host GLOBAL_CFLAGS?
LOCAL_CFLAGS += -D__STDC_FORMAT_MACROS
include $(BUILD_SHARED_LIBRARY)