* Shell scripts extension typically .sh chmod a+rx foo.sh ./foo.sh or "sh foo.sh" how #!/bin/sh works in scripts vs. regular a.out or ELF binaries positional args $0-$n, $#, $* * Makefiles look for programs: which if test $? = 0 ; then OK; else BAD; fi use Makefile.tmpl use sed to autogen the Makefile ranlib encoded in makefiles