1#!/bin/sh 2# Generates a small Makefile used in the root of the output 3# directory, to allow make to be started from there. 4# The Makefile also allow for more convinient build of external modules 5 6# Usage 7# $1 - Kernel src directory 8# $2 - Output directory 9# $3 - version 10# $4 - patchlevel 11 12 13test ! -r $2/Makefile -o -O $2/Makefile || exit 0 14echo " GEN $2/Makefile" 15 16cat << EOF > $2/Makefile 17# Automatically generated by $0: don't edit 18 19VERSION = $3 20PATCHLEVEL = $4 21 22KERNELSRC := $1 23KERNELOUTPUT := $2 24 25MAKEFLAGS += --no-print-directory 26 27.PHONY: all \$(MAKECMDGOALS) 28 29all: 30 \$(MAKE) -C \$(KERNELSRC) O=\$(KERNELOUTPUT) 31 32Makefile:; 33 34\$(filter-out all Makefile,\$(MAKECMDGOALS)): 35 \$(MAKE) -C \$(KERNELSRC) O=\$(KERNELOUTPUT) \$@ 36 37%/: 38 \$(MAKE) -C \$(KERNELSRC) O=\$(KERNELOUTPUT) \$@ 39EOF 40