#!/bin/sh do { cat << ''' sayIt: $(foreach b,$(BUILT_INS),echo XXX $(b:$X=) YYY;) ''' cat Makefile } | make -f - sayIt !2 >/dev/null | sed -n -e 's/.*XXX \(.*\) YYY.*/\1/p' | sort | do { setglobal bad = '0' while read builtin { setglobal base = $[expr $builtin : 'git-\(.*\)] setglobal x = $[sed -ne 's/.*{ "'$base'", \(cmd_[^, ]*\).*/'$base' \1/p' git.c] if test -z $x { echo "$base is builtin but not listed in git.c command list" setglobal bad = '1' } for sfx in [sh perl py] { if test -f "$builtin.$sfx" { echo "$base is builtin but $builtin.$sfx still exists" setglobal bad = '1' } } } exit $bad }