#!/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 echo " GEN $2/Makefile" cat << EOF > $2/Makefile # Automatically generated by $0: don't edit VERSION = $3 PATCHLEVEL = $4 KERNELSRC := $1 KERNELOUTPUT := $2 MAKEFLAGS += --no-print-directory .PHONY: all \$(MAKECMDGOALS) all := \$(filter-out all Makefile,\$(MAKECMDGOALS)) all: \$(MAKE) -C \$(KERNELSRC) O=\$(KERNELOUTPUT) \$(all) Makefile:; \$(all) %/: all @: EOF