| #!/bin/sh | 
 | # Generates a small Makefile used in the root of the output | 
 | # directory, to allow make to be started from there. | 
 | # The Makefile also allow for more convinient build of external modules | 
 |  | 
 | # Usage | 
 | # $1 - Kernel src directory | 
 | # $2 - Output directory | 
 | # $3 - version | 
 | # $4 - patchlevel | 
 |  | 
 |  | 
 | test ! -r $2/Makefile -o -O $2/Makefile || exit 0 | 
 | # Only overwrite automatically generated Makefiles | 
 | # (so we do not overwrite kernel Makefile) | 
 | if test -e $2/Makefile && ! grep -q Automatically $2/Makefile | 
 | then | 
 | 	exit 0 | 
 | fi | 
 | if [ "${quiet}" != "silent_" ]; then | 
 | 	echo "  GEN     $2/Makefile" | 
 | fi | 
 |  | 
 | cat << EOF > $2/Makefile | 
 | # Automatically generated by $0: don't edit | 
 |  | 
 | VERSION = $3 | 
 | PATCHLEVEL = $4 | 
 |  | 
 | lastword = \$(word \$(words \$(1)),\$(1)) | 
 | makedir := \$(dir \$(call lastword,\$(MAKEFILE_LIST))) | 
 |  | 
 | ifeq ("\$(origin V)", "command line") | 
 | VERBOSE := \$(V) | 
 | endif | 
 | ifneq (\$(VERBOSE),1) | 
 | Q := @ | 
 | endif | 
 |  | 
 | MAKEARGS := -C $1 | 
 | MAKEARGS += O=\$(if \$(patsubst /%,,\$(makedir)),\$(CURDIR)/)\$(patsubst %/,%,\$(makedir)) | 
 |  | 
 | MAKEFLAGS += --no-print-directory | 
 |  | 
 | .PHONY: all \$(MAKECMDGOALS) | 
 |  | 
 | all	:= \$(filter-out all Makefile,\$(MAKECMDGOALS)) | 
 |  | 
 | all: | 
 | 	\$(Q)\$(MAKE) \$(MAKEARGS) \$(all) | 
 |  | 
 | Makefile:; | 
 |  | 
 | \$(all): all | 
 | 	@: | 
 |  | 
 | %/: all | 
 | 	@: | 
 | EOF |