Something went wrong. Try again.
A breadth-first version of the UNIX find command tavianator.com/projects/bfs.html
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263#!/bin/sh
# Copyright © Tavian Barnes <tavianator@tavianator.com># SPDX-License-Identifier: 0BSD
# Print a message from a makefile:## $ make -s# $ make# [ CC ] src/main.c# $ make V=1# cc -Isrc -Igen -D...
set -eu
# Get the $MAKEFLAGS from the top-level make invocationMFLAGS="${XMAKEFLAGS-${MAKEFLAGS-}}"
# Check if make should be quiet (make -s)is_quiet() { # GNU make puts single-letter flags in the first word of $MAKEFLAGS, # without a leading dash case "${MFLAGS%% *}" in -*) : ;; *s*) return 0 ;; esac
# BSD make puts each flag separately like -r -s -j 48 for flag in $MFLAGS; do case "$flag" in # Ignore things like --jobserver-auth --*) continue ;; # Skip variable assignments *=*) break ;; -*s*) return 0 ;; esac done
return 1}
# Check if make should be loud (make V=1)is_loud() { test "$XV"}
MSG="$1"shift
if ! is_quiet && ! is_loud; then printf '%s\n' "$MSG"fi
if [ $# -eq 0 ]; then exitfi
if is_loud; then printf '%s\n' "$*"fi
exec "$@"