OSDN Git Service

Allow to re-use an existing build output
[android-x86/device-common.git] / generate-blob-scripts.sh
index 027c821..61f971a 100755 (executable)
@@ -45,33 +45,38 @@ shift
 
 DEVICES="crespo crespo4g stingray wingray tuna toro panda"
 
-ARCHIVEDIR=archive-$(date +%s)
-mkdir $ARCHIVEDIR
-
 repo sync
 repo sync
 repo sync
 
-. build/envsetup.sh
-for DEVICENAME in $DEVICES
-do
-  rm -rf out
-  lunch full_$DEVICENAME-user
-  make -j32
-  cat out/target/product/$DEVICENAME/installed-files.txt |
-    cut -b 15- |
-    sort -f > $ARCHIVEDIR/$DEVICENAME-with.txt
-done
-rm -rf vendor
-for DEVICENAME in $DEVICES
-do
-  rm -rf out
-  lunch full_$DEVICENAME-user
-  make -j32
-  cat out/target/product/$DEVICENAME/installed-files.txt |
-    cut -b 15- |
-    sort -f > $ARCHIVEDIR/$DEVICENAME-without.txt
-done
+ARCHIVEDIR=archive-$(date +%s)
+if test -d archive-ref
+then
+  cp -R archive-ref $ARCHIVEDIR
+else
+  mkdir $ARCHIVEDIR
+
+  . build/envsetup.sh
+  for DEVICENAME in $DEVICES
+  do
+    rm -rf out
+    lunch full_$DEVICENAME-user
+    make -j32
+    cat out/target/product/$DEVICENAME/installed-files.txt |
+      cut -b 15- |
+      sort -f > $ARCHIVEDIR/$DEVICENAME-with.txt
+  done
+  rm -rf vendor
+  for DEVICENAME in $DEVICES
+  do
+    rm -rf out
+    lunch full_$DEVICENAME-user
+    make -j32
+    cat out/target/product/$DEVICENAME/installed-files.txt |
+      cut -b 15- |
+      sort -f > $ARCHIVEDIR/$DEVICENAME-without.txt
+  done
+fi
 
 for DEVICENAME in $DEVICES
 do
@@ -231,6 +236,9 @@ do
     echo -n '# This file is generated by device/__MANUFACTURER__/__DEVICE__/'
     echo -n $FILESTYLE
     echo '-files.sh - DO NOT EDIT'
+    echo
+    echo ifeq \(\\\$\(TARGET_DEVICE\),$DEVICENAME\)
+    echo LOCAL_PATH:=\\\$\(call my-dir\)
 
     FOUND=false
     diff $ARCHIVEDIR/$DEVICENAME-without.txt $ARCHIVEDIR/$DEVICENAME-with.txt |
@@ -242,10 +250,7 @@ do
         if test $FOUND = false
         then
           echo
-          echo ifeq \(\$\(TARGET_DEVICE\),$DEVICENAME\)
-          echo LOCAL_PATH:=\$\(call my-dir\)
-          echo
-          echo -n '# Makefile rules for apks on '
+          echo -n '# Module makefile rules for apks on '
           echo $DEVICENAME
         fi
         FOUND=true
@@ -253,21 +258,18 @@ do
         echo -n '# '
         echo $(basename $FULLPATH) | sed 's/\.apk//g'
         echo
-        echo include \$\(CLEAR_VARS\)
+        echo include \\\$\(CLEAR_VARS\)
         echo
         echo LOCAL_MODULE := $(basename $FULLPATH) | sed 's/\.apk//g'
-        echo LOCAL_SRC_FILES := \$\(LOCAL_MODULE\).apk
+        echo LOCAL_SRC_FILES := \\\$\(LOCAL_MODULE\).apk
         echo LOCAL_MODULE_CLASS := APPS
         echo LOCAL_MODULE_TAGS := optional
         echo LOCAL_CERTIFICATE := PRESIGNED
-        echo LOCAL_MODULE_SUFFIX := \$\(COMMON_ANDROID_PACKAGE_SUFFIX\)
-        echo include \$\(BUILD_PREBUILT\)
+        echo LOCAL_MODULE_SUFFIX := \\\$\(COMMON_ANDROID_PACKAGE_SUFFIX\)
+        echo include \\\$\(BUILD_PREBUILT\)
       done
-      if test $FOUND = true
-      then
-        echo
-        echo endif
-      fi
+    echo
+    echo endif
     echo
 
     echo 'EOF'