#!/bin/sh # Copyright (c) 2023 Emma Tebibyte # SPDX-License-Identifier: FSFAP # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty provided the copyright notice and this # notice are preserved. This file is offered as-is, without any warranty. set -e if ! ls GNUmakefile >/dev/null 2>&1 then printf '%s: Run this script in the root of the project.\n' "$0" 1>&2 exit 64 # sysexits.h(3) EX_USAGE fi make clean for CC in cc \ clang \ gcc \ tcc \ 'zig cc' do export CC command -v "$(printf '%s\n' "$CC" | cut -d ' ' -f1)" >/dev/null 2>&1 \ || continue printf '%s: %s: Testing build.\n' "$0" "$CC" make CC="$CC" && printf '%s: Build successful.\n' "$0" ls -lA build/bin make clean printf '\n' done