ci: Add release mode to build legal info

Add an option to build the Buildroot legal-info target after building a
platform. This is mainly useful as part of building platforms for
inclusion in images for distribution, but is also good for CI systems
doing a sanity check on what is being built.
This also updates build-all-defconfigs.sh to use getopt to handle its
inputs more sanely.

Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
diff --git a/ci/build-all-defconfigs.sh b/ci/build-all-defconfigs.sh
index 61c3bbf..839d30a 100755
--- a/ci/build-all-defconfigs.sh
+++ b/ci/build-all-defconfigs.sh
@@ -3,22 +3,48 @@
 set -ex
 set -eo pipefail
 
+BUILD_INFO=0
 CONFIGTAG="_defconfig"
 
 DEFCONFIGS=();
 
-if [ -z "$2" ]; then
+while getopts "o:p:r" opt; do
+  case $opt in
+    o)
+      echo "Output directory: $OPTARG"
+      OUTDIR="$OPTARG"
+      ;;
+    p)
+      echo "Platforms to build: $OPTARG"
+      PLATFORM_LIST="$OPTARG"
+      ;;
+    r)
+      echo "Build legal-info for release"
+      BUILD_INFO=1
+      ;;
+    \?)
+      echo "Invalid option: -$OPTARG"
+      exit 1
+      ;;
+    :)
+      echo "Option -$OPTARG requires an argument."
+      exit 1
+      ;;
+  esac
+done
+
+if [ -z "${PLATFORM_LIST}" ]; then
         echo "Using all the defconfigs for all the platforms"
         DEFCONFIGS=`(cd openpower/configs; ls -1 *_defconfig)`
 else
         IFS=', '
-        for p in $2;
+        for p in ${PLATFORM_LIST};
         do
                 DEFCONFIGS+=($p$CONFIGTAG)
         done
 fi
 
-if [ -z "$1" or ! -d "$1" ]; then
+if [ -z "${OUTDIR}" or ! -d "${OUTDIR}" ]; then
 	echo "No output directory specified"
 	exit 1;
 fi
@@ -45,10 +71,16 @@
         op-build olddefconfig
         op-build
         r=$?
-        mkdir $1/$i-images
-        mv output/images/* $1/$i-images/
-        mv output/.config $1/$i-images/.config
-	lsb_release -a > $1/$i-images/lsb_release
+
+        if [ ${BUILD_INFO} = 1 ] && [ $r = 0 ]; then
+                op-build legal-info
+                mv output/legal-info ${OUTDIR}/$i-legal-info
+        fi
+
+        mkdir ${OUTDIR}/$i-images
+        mv output/images/* ${OUTDIR}/$i-images/
+        mv output/.config ${OUTDIR}/$i-images/.config
+        lsb_release -a > ${OUTDIR}/$i-images/lsb_release
         if [ $r -ne 0 ]; then
         	exit $r
         fi