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 14# Only overwrite automatically generated Makefiles 15# (so we do not overwrite kernel Makefile) 16if test -e $2/Makefile && ! grep -q Automatically $2/Makefile 17then 18 exit 0 19fi 20echo " GEN $2/Makefile" 21 22cat << EOF > $2/Makefile 23# Automatically generated by $0: don't edit 24 25VERSION = $3 26PATCHLEVEL = $4 27 28KERNELSRC := $1 29KERNELOUTPUT := $2 30 31MAKEFLAGS += --no-print-directory 32 33.PHONY: all \$(MAKECMDGOALS) 34 35all := \$(filter-out all Makefile,\$(MAKECMDGOALS)) 36 37all: 38 \$(MAKE) -C \$(KERNELSRC) O=\$(KERNELOUTPUT) \$(all) 39 40Makefile:; 41 42\$(all) %/: all 43 @: 44EOF 45