1 # Copyright (C) 2011 The Android Open Source Project
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 # http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 #
16 define _add-sgx-vendor-lib
17 include $$(CLEAR_VARS)
18 $(if $(word 2,$1),$(error Invalid SGX module name $1))
19 LOCAL_MODULE := $(basename $(notdir $1))
20 LOCAL_SRC_FILES := $1
21 LOCAL_MODULE_TAGS := optional
22 LOCAL_MODULE_SUFFIX := $(suffix $1)
23 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
24 LOCAL_MODULE_PATH := $$(TARGET_OUT_VENDOR)/$(dir $1)
25 LOCAL_STRIP_MODULE := false
26 OVERRIDE_BUILT_MODULE_PATH := $$(TARGET_OUT_INTERMEDIATE_LIBRARIES)
27 LOCAL_PATH := $$(img-sgx.untarred_bin)
28 include $$(BUILD_SYSTEM)/base_rules.mk
29 $$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $$(img-sgx.untarred_bin)/$1
30 $$(LOCAL_BUILT_MODULE) : $$(img-sgx.untarred_timestamp) | $$(ACP)
31 @echo "Copy $$@ <- $$(PRIVATE_SRC)"
32 @mkdir -p $(dir $$@)
33 $$(hide) $$(ACP) -fp $$(PRIVATE_SRC) $$@
34 endef
36 define _add-sgx-vendor-bin
37 include $$(CLEAR_VARS)
38 $(if $(word 2,$1),$(error Invalid SGX module name $1))
39 LOCAL_MODULE := $(basename $(notdir $1))
40 LOCAL_SRC_FILES := $1
41 LOCAL_MODULE_TAGS := optional
42 LOCAL_MODULE_SUFFIX := $(suffix $1)
43 LOCAL_MODULE_CLASS := EXECUTABLES
44 LOCAL_MODULE_PATH := $$(TARGET_OUT_VENDOR)/$(dir $1)
45 LOCAL_STRIP_MODULE := false
46 OVERRIDE_BUILT_MODULE_PATH := $$(TARGET_OUT_INTERMEDIATE_EXECUTABLES)
47 LOCAL_PATH := $$(img-sgx.untarred_bin)
48 include $$(BUILD_SYSTEM)/base_rules.mk
49 $$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $$(img-sgx.untarred_bin)/$1
50 $$(LOCAL_BUILT_MODULE) : $$(img-sgx.untarred_timestamp) | $$(ACP)
51 @echo "Copy $$@ <- $$(PRIVATE_SRC)"
52 @mkdir -p $$(dir $$@)
53 $$(hide) $$(ACP) -fp $$(PRIVATE_SRC) $$@
54 endef
56 define _add-sgx-vendor-etc
57 include $$(CLEAR_VARS)
58 $(if $(word 2,$1),$(error Invalid SGX module name $1))
59 LOCAL_MODULE := $(basename $(notdir $1))
60 LOCAL_SRC_FILES := $1
61 LOCAL_MODULE_TAGS := optional
62 LOCAL_MODULE_SUFFIX := $(suffix $1)
63 LOCAL_MODULE_CLASS := ETC
64 LOCAL_MODULE_PATH := $$(TARGET_OUT)/$(dir $1)
65 LOCAL_STRIP_MODULE := false
66 OVERRIDE_BUILT_MODULE_PATH := $$(TARGET_OUT_INTERMEDIATE_ETC)
67 LOCAL_PATH := $$(img-sgx.untarred_bin)
68 include $$(BUILD_SYSTEM)/base_rules.mk
69 $$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $$(img-sgx.untarred_bin)/$1
70 $$(LOCAL_BUILT_MODULE) : $$(img-sgx.untarred_timestamp) | $$(ACP)
71 @echo "Copy $$@ <- $$(PRIVATE_SRC)"
72 @mkdir -p $$(dir $$@)
73 $$(hide) $$(ACP) -fp $$(PRIVATE_SRC) $$@
74 endef
76 define _add-sgx-vendor-km
77 include $$(CLEAR_VARS)
78 $(if $(word 2,$1),$(error Invalid SGX module name $1))
79 LOCAL_MODULE := $(basename $(notdir $1))
80 LOCAL_SRC_FILES := $1
81 LOCAL_MODULE_TAGS := optional
82 LOCAL_MODULE_SUFFIX := $(suffix $1)
83 LOCAL_MODULE_CLASS := ETC
84 LOCAL_MODULE_PATH := $$(TARGET_OUT)/lib/$(dir $1)
85 LOCAL_STRIP_MODULE := false
86 OVERRIDE_BUILT_MODULE_PATH := $$(TARGET_OUT_INTERMEDIATE_ETC)
87 LOCAL_PATH := $$(img-sgx.untarred_bin)
88 include $$(BUILD_SYSTEM)/base_rules.mk
89 $$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $$(img-sgx.untarred_bin)/$1
90 $$(LOCAL_BUILT_MODULE) : $$(img-sgx.untarred_timestamp) | $$(ACP)
91 @echo "Copy $$@ <- $$(PRIVATE_SRC)"
92 @mkdir -p $$(dir $$@)
93 $$(hide) $$(ACP) -fp $$(PRIVATE_SRC) $$@
94 endef
96 prebuilt_sgx_vendor_libs := \
97 lib/libIMGegl.so \
98 lib/libglslcompiler.so \
99 lib/libusc.so \
100 lib/libPVRScopeServices.so \
101 lib/libsrv_um.so \
102 lib/hw/gralloc.jacinto6.so \
103 lib/hw/memtrack.jacinto6.so \
104 lib/libpvrANDROID_WSEGL.so \
105 lib/libpvr2d.so \
106 lib/libsrv_init.so \
107 lib/egl/libGLESv1_CM_POWERVR_SGX544_116.so \
108 lib/egl/libGLESv2_POWERVR_SGX544_116.so \
109 lib/egl/libEGL_POWERVR_SGX544_116.so
111 prebuilt_sgx_vendor_bins := \
112 bin/pvrsrvinit \
113 bin/pvrsrvctl
115 #prebuilt_sgx_vendor_etc := \
116 # etc/powervr.ini
118 prebuilt_sgx_vendor_km := \
119 modules/pvrsrvkm.ko
121 prebuilt_sgx_modules := \
122 $(foreach _file,$(prebuilt_sgx_vendor_libs) $(prebuilt_sgx_vendor_bins) $(prebuilt_sgx_vendor_etc) $(prebuilt_sgx_vendor_km),\
123 $(notdir $(basename $(_file))))
125 include $(CLEAR_VARS)
126 LOCAL_MODULE := ti_jacinto6_sgx_libs
127 LOCAL_MODULE_TAGS := optional
128 LOCAL_REQUIRED_MODULES := $(prebuilt_sgx_modules)
129 include $(BUILD_PHONY_PACKAGE)
131 $(foreach _file,$(prebuilt_sgx_vendor_libs),\
132 $(eval $(call _add-sgx-vendor-lib,$(_file))))
134 $(foreach _file,$(prebuilt_sgx_vendor_bins),\
135 $(eval $(call _add-sgx-vendor-bin,$(_file))))
137 $(foreach _file,$(prebuilt_sgx_vendor_etc),\
138 $(eval $(call _add-sgx-vendor-etc,$(_file))))
140 $(foreach _file,$(prebuilt_sgx_vendor_km),\
141 $(eval $(call _add-sgx-vendor-km,$(_file))))
143 prebuilt_sgx_modules :=
144 prebuilt_sgx_vendor_libs :=
145 prebuilt_sgx_vendor_bins :=
146 prebuilt_sgx_vendor_etc :=
147 prebuilt_sgx_vendor_km :=
148 _add-sgx-vendor-lib :=
149 _add-sgx-vendor-bin :=
150 _add-sgx-vendor-etc :=
151 _add-sgx-vendor-km :=