#!/bin/sh ############################################################################### # BRLTTY - A background process providing access to the console screen (when in # text mode) for a blind person using a refreshable braille display. # # Copyright (C) 1995-2018 by The BRLTTY Developers. # # BRLTTY comes with ABSOLUTELY NO WARRANTY. # # This is free software, placed under the terms of the # GNU Lesser General Public License, as published by the Free Software # Foundation; either version 2.1 of the License, or (at your option) any # later version. Please see the file LICENSE-LGPL for details. # # Web Page: http://brltty.com/ # # This software is maintained by Dave Mielke . ############################################################################### . "${0%/*}/prologue.sh" executeCommand() { "${@}" } updateFiles() { fromRoot="${1}" fromDirectory="${2}" toDirectory="${3}" shift 3 executeCommand mkdir -p -- "${outputRoot}/${toDirectory}" set -- `cd "${fromRoot}/${fromDirectory}" && echo ${*}` for fromFile do fromPath="${fromRoot}/${fromDirectory}/${fromFile}" [ -e "${fromPath}" ] && executeCommand cp -a -- "${fromPath}" "${outputRoot}/${toDirectory}/" done } outputRoot="" sourceRoot="" buildRoot="" documentsSubdirectory="" tablesSubdirectory="" while getopts ":o:s:b:d:t:" option do case "${option}" in o) outputRoot="${OPTARG}";; s) sourceRoot="${OPTARG}";; b) buildRoot="${OPTARG}";; d) documentsSubdirectory="${OPTARG}";; t) tablesSubdirectory="${OPTARG}";; :) syntaxError "missing value: -${OPTARG}";; \?) syntaxError "unknown option: -${OPTARG}";; *) syntaxError "unimplemented option: -${option}";; esac done shift `expr "${OPTIND}" - 1` [ "${#}" -eq 0 ] || syntaxError "too many parameters" [ -n "${outputRoot}" ] || outputRoot="doc" verifyOutputDirectory "${outputRoot}" [ -n "${sourceRoot}" ] || sourceRoot=`dirname "${0}"` verifyInputDirectory "${sourceRoot}" sourceRoot=`resolveDirectory "${sourceRoot}"` if [ -n "${buildRoot}" ] then verifyInputDirectory "${buildRoot}" buildRoot=`resolveDirectory "${buildRoot}"` else buildRoot="${sourceRoot}" fi updateFiles "${sourceRoot}" "." "." "README" "LICENSE-*" [ -z "${documentsSubdirectory}" ] || { updateFiles "${sourceRoot}" "${documentsSubdirectory}" "." "ChangeLog" "CONTRIBUTORS" "README.*" "TODO" updateFiles "${buildRoot}" "${documentsSubdirectory}" "." "brltty.conf" for manual in `cd "${sourceRoot}/${documentsSubdirectory}" && echo Manual-*/*` do for documentExtension in doc htm html pdf sgml txt do updateFiles "${sourceRoot}" "${documentsSubdirectory}/${manual}" "${manual}" "*.${documentExtension}" done done for manual in BrlAPIref do updateFiles "${buildRoot}" "${documentsSubdirectory}/${manual}/html" "${manual}" "*.html" done } [ -z "${tablesSubdirectory}" ] || { updateFiles "${sourceRoot}" "${tablesSubdirectory}" "." "README-*" executeCommand "${sourceRoot}/mkdocktb" -o "${outputRoot}/KeyTables" -s "${sourceRoot}" -b "${buildRoot}" } exit 0