#!/usr/bin/env bash
###############################################################################
# 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-2023 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.app/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################

. "$(dirname "${0}")/../prologue.sh"
parseProgramArguments "${@}"

set -e
setBuildRoot
cd "${buildRoot}"

makeTargets=(
   brltty braille-drivers speech-drivers screen-drivers
   brltty-trtxt brltty-ttb brltty-ctb brltty-atb brltty-ktb
   brltty-tune brltty-morse brltty-pty
   brltty-lscmds brltty-hid
   brltty-cldr brltty-lsinc
   brltest spktest scrtest crctest msgtest
   all-api-bindings brltty-clip xbrlapi apitest
)

gmake -s -C "${programsSubdirectory}" "${makeTargets[@]}"
exit 0
