18af858e9b6577d074c5427e601b6418d288fdb9dJason Sams
294d8e90ad78ee1dbc0efa315117688abd126ae55Jason SamsLOCAL_PATH:=$(call my-dir)
394d8e90ad78ee1dbc0efa315117688abd126ae55Jason Sams
4d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
594d8e90ad78ee1dbc0efa315117688abd126ae55Jason Sams# Build rsg-generator ====================
694d8e90ad78ee1dbc0efa315117688abd126ae55Jason Samsinclude $(CLEAR_VARS)
7d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
8d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_MODULE := rsg-generator
9d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
10d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams# These symbols are normally defined by BUILD_XXX, but we need to define them
11d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams# here so that local-intermediates-dir works.
12d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
13d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_IS_HOST_MODULE := true
14d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_MODULE_CLASS := EXECUTABLES
1594d8e90ad78ee1dbc0efa315117688abd126ae55Jason Samsintermediates := $(local-intermediates-dir)
16d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
17d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_SRC_FILES:= \
18daed524c35f5fe4d35f403d2279947605d161b2eJoe Onorato    spec.l \
19d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams    rsg_generator.c
2094d8e90ad78ee1dbc0efa315117688abd126ae55Jason Sams
21d19f10d43aa400e1183aa21a97099d02074131a2Jason Samsinclude $(BUILD_HOST_EXECUTABLE)
22d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
2394d8e90ad78ee1dbc0efa315117688abd126ae55Jason Sams# TODO: This should go into build/core/config.mk
24d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsRSG_GENERATOR:=$(LOCAL_BUILT_MODULE)
25d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
26d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
2794d8e90ad78ee1dbc0efa315117688abd126ae55Jason Sams
2894d8e90ad78ee1dbc0efa315117688abd126ae55Jason Sams# Build render script lib ====================
293f8f9da85f4189bfef68cf13a1b643674b5e0726Marco Nelissen
30d19f10d43aa400e1183aa21a97099d02074131a2Jason Samsinclude $(CLEAR_VARS)
31d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_MODULE := libRS
32d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
33d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_MODULE_CLASS := SHARED_LIBRARIES
34d19f10d43aa400e1183aa21a97099d02074131a2Jason Samsintermediates:= $(local-intermediates-dir)
35d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
36d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams# Generate custom headers
37d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
38d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsGEN := $(addprefix $(intermediates)/, \
39d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams            rsgApiStructs.h \
40d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams            rsgApiFuncDecl.h \
41d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams        )
42d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
43196ac850afc2382c901d3866a6e9bd95093893b9Jason Sams$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
44196ac850afc2382c901d3866a6e9bd95093893b9Jason Sams$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(PRIVATE_PATH)/rs.spec
45d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec
46d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams$(GEN): $(intermediates)/%.h : $(LOCAL_PATH)/%.h.rsg
47d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	$(transform-generated-source)
48eaff30744e7961dfa304368f81cb56cc4166f495Jack Palevich
4994d8e90ad78ee1dbc0efa315117688abd126ae55Jason Sams# used in jni/Android.mk
5094d8e90ad78ee1dbc0efa315117688abd126ae55Jason Samsrs_generated_source += $(GEN)
51d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_GENERATED_SOURCES += $(GEN)
52d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
53d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams# Generate custom source files
54d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
55d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsGEN := $(addprefix $(intermediates)/, \
56d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams            rsgApi.cpp \
57d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams            rsgApiReplay.cpp \
58d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams        )
59eaff30744e7961dfa304368f81cb56cc4166f495Jack Palevich
60196ac850afc2382c901d3866a6e9bd95093893b9Jason Sams$(GEN) : PRIVATE_PATH := $(LOCAL_PATH)
61196ac850afc2382c901d3866a6e9bd95093893b9Jason Sams$(GEN) : PRIVATE_CUSTOM_TOOL = $(RSG_GENERATOR) $< $@ <$(PRIVATE_PATH)/rs.spec
62d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams$(GEN) : $(RSG_GENERATOR) $(LOCAL_PATH)/rs.spec
63d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams$(GEN): $(intermediates)/%.cpp : $(LOCAL_PATH)/%.cpp.rsg
64d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	$(transform-generated-source)
65eaff30744e7961dfa304368f81cb56cc4166f495Jack Palevich
6694d8e90ad78ee1dbc0efa315117688abd126ae55Jason Sams# used in jni/Android.mk
6794d8e90ad78ee1dbc0efa315117688abd126ae55Jason Samsrs_generated_source += $(GEN)
68196ac850afc2382c901d3866a6e9bd95093893b9Jason Sams
69d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_GENERATED_SOURCES += $(GEN)
70d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
713f8f9da85f4189bfef68cf13a1b643674b5e0726Marco Nelissen# libRS needs libacc, which isn't 64-bit clean, and so can't be built
723f8f9da85f4189bfef68cf13a1b643674b5e0726Marco Nelissen# for the simulator on gHardy, and therefore libRS needs to be excluded
733f8f9da85f4189bfef68cf13a1b643674b5e0726Marco Nelissen# from the simulator as well.
743f8f9da85f4189bfef68cf13a1b643674b5e0726Marco Nelissenifneq ($(TARGET_SIMULATOR),true)
753f8f9da85f4189bfef68cf13a1b643674b5e0726Marco Nelissen
76d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_SRC_FILES:= \
77d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsAdapter.cpp \
78d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsAllocation.cpp \
79718cd1f322ee5b62b6a49cb36195bcb18a5ab711Jason Sams	rsComponent.cpp \
80d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsContext.cpp \
81d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsDevice.cpp \
82d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsElement.cpp \
837aa4f3a16355848e3cdf01642aca68416e80fd14Jason Sams        rsFileA3D.cpp \
84bba134c8a1dcfe0c8473307a95899a02c9553504Jason Sams	rsLight.cpp \
85d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsLocklessFifo.cpp \
86d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsObjectBase.cpp \
87d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsMatrix.cpp \
887aa4f3a16355848e3cdf01642aca68416e80fd14Jason Sams        rsMesh.cpp \
89ecc7ca03721fbeb016c7f2e7469109d88ac4f952Romain Guy	rsNoise.cpp \
90d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsProgram.cpp \
91d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsProgramFragment.cpp \
92d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsProgramFragmentStore.cpp \
93ebfb436a49673693b98469683451bd9ede797557Jason Sams	rsProgramRaster.cpp \
94d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsProgramVertex.cpp \
95d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsSampler.cpp \
96d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsScript.cpp \
97d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsScriptC.cpp \
98c97bb8844f9887d915d3c9e4b3582bd761357f98Jason Sams	rsScriptC_Lib.cpp \
99bb51c40d89c7dbdee7d7507fdfe0a64e8f4f87a9Jason Sams        rsShaderCache.cpp \
1001bada8cd6e4f340de93cff4a2439835fc3b1456cJason Sams	rsSimpleMesh.cpp \
101d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams	rsThreadIO.cpp \
102bb51c40d89c7dbdee7d7507fdfe0a64e8f4f87a9Jason Sams	rsType.cpp \
103bb51c40d89c7dbdee7d7507fdfe0a64e8f4f87a9Jason Sams	rsVertexArray.cpp
104d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
105bb51c40d89c7dbdee7d7507fdfe0a64e8f4f87a9Jason Sams
106bb51c40d89c7dbdee7d7507fdfe0a64e8f4f87a9Jason SamsLOCAL_SHARED_LIBRARIES += libcutils libutils libEGL libGLESv1_CM libGLESv2 libui libacc
107d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_LDLIBS := -lpthread -ldl
108d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsLOCAL_MODULE:= libRS
10994d8e90ad78ee1dbc0efa315117688abd126ae55Jason SamsLOCAL_MODULE_TAGS := optional
110d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
111d19f10d43aa400e1183aa21a97099d02074131a2Jason Samsinclude $(BUILD_SHARED_LIBRARY)
112d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
1135bec3aa2c6bcde7f81ca77b0887296bf05a745c8Jason Sams# include the java examples
1145bec3aa2c6bcde7f81ca77b0887296bf05a745c8Jason Samsinclude $(addprefix $(LOCAL_PATH)/,$(addsuffix /Android.mk,\
1155bec3aa2c6bcde7f81ca77b0887296bf05a745c8Jason Sams    java \
1165bec3aa2c6bcde7f81ca77b0887296bf05a745c8Jason Sams    ))
117d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
1183f8f9da85f4189bfef68cf13a1b643674b5e0726Marco Nelissenendif #simulator
119