#!/bin/bash ## Copyright (c) 2016, Alliance for Open Media. All rights reserved ## ## This source code is subject to the terms of the BSD 2 Clause License and ## the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License ## was not distributed with this source code in the LICENSE file, you can ## obtain it at www.aomedia.org/license/software. If the Alliance for Open ## Media Patent License 1.0 was not distributed with this source code in the ## PATENTS file, you can obtain it at www.aomedia.org/license/patent. ## self=$0 self_basename=${self##*/} EOL=$'\n' show_help() { cat < symbol1 [symbol2, symbol3, ...] where is either 'text' or 'data' Options: --help Print this message --out=filename Write output to a file [stdout] --name=project_name Name of the library (required) EOF exit 1 } die() { echo "${self_basename}: $@" exit 1 } die_unknown(){ echo "Unknown option \"$1\"." echo "See ${self_basename} --help for available options." exit 1 } text() { for sym in "$@"; do echo " $sym" >> ${outfile} done } data() { for sym in "$@"; do printf " %-40s DATA\n" "$sym" >> ${outfile} done } # Process command line for opt in "$@"; do optval="${opt#*=}" case "$opt" in --help|-h) show_help ;; --out=*) outfile="$optval" ;; --name=*) name="${optval}" ;; -*) die_unknown $opt ;; *) file_list[${#file_list[@]}]="$opt" esac done outfile=${outfile:-/dev/stdout} [ -n "$name" ] || die "Library name (--name) must be specified!" echo "LIBRARY ${name}" > ${outfile} echo "EXPORTS" >> ${outfile} for f in "${file_list[@]}"; do . $f done