SGX prebuilt binaries: Untar to and copy from intermediate directories.
authorLuis Gonzalez <lgonzalez@ti.com>
Fri, 1 Jun 2012 18:46:34 +0000 (13:46 -0500)
committerTony Lofthouse <a0741364@ti.com>
Mon, 30 Jul 2012 17:56:24 +0000 (12:56 -0500)
This will untar SGX prebuilt binaries to an intermediate directory and
install them in the Android filesystem without polluting the git tree
with untracked files.

Change-Id: I806a9aa4a939b6109399df999603706e3c34f17e

Android.mk
omap4/sgx/Android.mk
untar.sh

index ce2221fddab3437fb100005943074e308b81bbcd..96a5cf373f2d1f7c219ce59166fddff99e40397c 100644 (file)
@@ -1,9 +1,20 @@
 LOCAL_PATH := $(my-dir)
-$(hide $(shell $(LOCAL_PATH)/untar.sh $(LOCAL_PATH)/omap4 sgx $(LOCAL_PATH)/omap4/sgx.tgz))
+img-sgx.untarred_intermediates := $(call intermediates-dir-for, FAKE, img-sgx.untarred)
+img-sgx.untarred_timestamp := $(img-sgx.untarred_intermediates)/stamp
+img-sgx.untarred_bin := $(img-sgx.untarred_intermediates)/sgx
+img-sgx.tar := $(LOCAL_PATH)/$(TARGET_BOARD_PLATFORM)/sgx.tgz
+
 $(hide $(shell $(LOCAL_PATH)/untar.sh $(LOCAL_PATH)/wl12xx wpan $(LOCAL_PATH)/wl12xx/wpan.tgz))
 
 include $(call all-subdir-makefiles)
 
+$(img-sgx.untarred_timestamp) : $(img-sgx.tar)
+       @echo "Unzip $(dir $@) <- $<"
+       $(hide) rm -rf $(dir $@) && mkdir -p $(dir $@)
+       $(hide) tar -C $(dir $@) -xzf $<
+       $(hide) touch $@
+
+
 # Install Ducati from the TGZ defined in the device-inherited mk file
 #############################################
 ifneq ($(DUCATI_TGZ),)
index 8b9f258292410f3f4f7f6ad4b333c680b623b23e..92b2354c76ecc1eaa5ca223788297672270d7519 100644 (file)
@@ -1,5 +1,3 @@
-LOCAL_PATH := $(call my-dir)
-
 define _add-sgx-vendor-lib
 include $$(CLEAR_VARS)
 $(if $(word 2,$1),$(error Invalid SGX module name $1))
@@ -8,10 +6,16 @@ LOCAL_SRC_FILES := $1
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_SUFFIX := $(suffix $1)
 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
-LOCAL_MODULE_PATH := $$(TARGET_OUT)$(abspath /vendor/$(dir $1))
+LOCAL_MODULE_PATH := $$(TARGET_OUT_VENDOR)/$(dir $1)
 LOCAL_STRIP_MODULE := false
 OVERRIDE_BUILT_MODULE_PATH := $$(TARGET_OUT_INTERMEDIATE_LIBRARIES)
-include $$(BUILD_PREBUILT)
+LOCAL_PATH := $$(img-sgx.untarred_bin)
+include $$(BUILD_SYSTEM)/base_rules.mk
+$$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $$(img-sgx.untarred_bin)/$1
+$$(LOCAL_BUILT_MODULE) : $$(img-sgx.untarred_timestamp) | $$(ACP)
+       @echo "Copy $$@ <- $$(PRIVATE_SRC)"
+       @mkdir -p $(dir $$@)
+       $$(hide) $$(ACP) -fp $$(PRIVATE_SRC) $$@
 endef
 
 define _add-sgx-vendor-bin
@@ -22,10 +26,16 @@ LOCAL_SRC_FILES := $1
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_SUFFIX := $(suffix $1)
 LOCAL_MODULE_CLASS := EXECUTABLES
-LOCAL_MODULE_PATH := $$(TARGET_OUT)$(abspath /vendor/$(dir $1))
+LOCAL_MODULE_PATH := $$(TARGET_OUT_VENDOR)/$(dir $1)
 LOCAL_STRIP_MODULE := false
 OVERRIDE_BUILT_MODULE_PATH := $$(TARGET_OUT_INTERMEDIATE_EXECUTABLES)
-include $$(BUILD_PREBUILT)
+LOCAL_PATH := $$(img-sgx.untarred_bin)
+include $$(BUILD_SYSTEM)/base_rules.mk
+$$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $$(img-sgx.untarred_bin)/$1
+$$(LOCAL_BUILT_MODULE) : $$(img-sgx.untarred_timestamp) | $$(ACP)
+       @echo "Copy $$@ <- $$(PRIVATE_SRC)"
+       @mkdir -p $$(dir $$@)
+       $$(hide) $$(ACP) -fp $$(PRIVATE_SRC) $$@
 endef
 
 define _add-sgx-vendor-etc
@@ -36,10 +46,16 @@ LOCAL_SRC_FILES := $1
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_SUFFIX := $(suffix $1)
 LOCAL_MODULE_CLASS := ETC
-LOCAL_MODULE_PATH := $$(TARGET_OUT)$(abspath /$(dir $1))
+LOCAL_MODULE_PATH := $$(TARGET_OUT)/$(dir $1)
 LOCAL_STRIP_MODULE := false
 OVERRIDE_BUILT_MODULE_PATH := $$(TARGET_OUT_INTERMEDIATE_ETC)
-include $$(BUILD_PREBUILT)
+LOCAL_PATH := $$(img-sgx.untarred_bin)
+include $$(BUILD_SYSTEM)/base_rules.mk
+$$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $$(img-sgx.untarred_bin)/$1
+$$(LOCAL_BUILT_MODULE) : $$(img-sgx.untarred_timestamp) | $$(ACP)
+       @echo "Copy $$@ <- $$(PRIVATE_SRC)"
+       @mkdir -p $$(dir $$@)
+       $$(hide) $$(ACP) -fp $$(PRIVATE_SRC) $$@
 endef
 
 define _add-sgx-vendor-km
@@ -50,10 +66,16 @@ LOCAL_SRC_FILES := $1
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_SUFFIX := $(suffix $1)
 LOCAL_MODULE_CLASS := ETC
-LOCAL_MODULE_PATH := $$(TARGET_OUT)$(abspath /lib/$(dir $1))
+LOCAL_MODULE_PATH := $$(TARGET_OUT)/lib/$(dir $1)
 LOCAL_STRIP_MODULE := false
 OVERRIDE_BUILT_MODULE_PATH := $$(TARGET_OUT_INTERMEDIATE_ETC)
-include $$(BUILD_PREBUILT)
+LOCAL_PATH := $$(img-sgx.untarred_bin)
+include $$(BUILD_SYSTEM)/base_rules.mk
+$$(LOCAL_BUILT_MODULE) : PRIVATE_SRC := $$(img-sgx.untarred_bin)/$1
+$$(LOCAL_BUILT_MODULE) : $$(img-sgx.untarred_timestamp) | $$(ACP)
+       @echo "Copy $$@ <- $$(PRIVATE_SRC)"
+       @mkdir -p $$(dir $$@)
+       $$(hide) $$(ACP) -fp $$(PRIVATE_SRC) $$@
 endef
 
 prebuilt_sgx_vendor_libs := \
index 2e5b77ffff3807dc77e51bc564fb6c8e42d0d712..a7a0948f2d45d150b6de83cef26e928cdb06641d 100755 (executable)
--- a/untar.sh
+++ b/untar.sh
@@ -11,4 +11,5 @@ if [ -d $1/$2 ]; then
   rm -rf $1/$2
 fi
 
+[ ! -d $1 ] && mkdir -p $1
 tar -C $1 -zxf $3