1*53ee8cc1Swenshuai.xi#!/bin/sh 2*53ee8cc1Swenshuai.xi# Generates a small Makefile used in the root of the output 3*53ee8cc1Swenshuai.xi# directory, to allow make to be started from there. 4*53ee8cc1Swenshuai.xi# The Makefile also allow for more convinient build of external modules 5*53ee8cc1Swenshuai.xi 6*53ee8cc1Swenshuai.xi# Usage 7*53ee8cc1Swenshuai.xi# $1 - Kernel src directory 8*53ee8cc1Swenshuai.xi# $2 - Output directory 9*53ee8cc1Swenshuai.xi# $3 - version 10*53ee8cc1Swenshuai.xi# $4 - patchlevel 11*53ee8cc1Swenshuai.xi 12*53ee8cc1Swenshuai.xi 13*53ee8cc1Swenshuai.xitest ! -r $2/Makefile -o -O $2/Makefile || exit 0 14*53ee8cc1Swenshuai.xi# Only overwrite automatically generated Makefiles 15*53ee8cc1Swenshuai.xi# (so we do not overwrite kernel Makefile) 16*53ee8cc1Swenshuai.xiif test -e $2/Makefile && ! grep -q Automatically $2/Makefile 17*53ee8cc1Swenshuai.xithen 18*53ee8cc1Swenshuai.xi exit 0 19*53ee8cc1Swenshuai.xifi 20*53ee8cc1Swenshuai.xiif [ "${quiet}" != "silent_" ]; then 21*53ee8cc1Swenshuai.xi echo " GEN $2/Makefile" 22*53ee8cc1Swenshuai.xifi 23*53ee8cc1Swenshuai.xi 24*53ee8cc1Swenshuai.xicat << EOF > $2/Makefile 25*53ee8cc1Swenshuai.xi# Automatically generated by $0: don't edit 26*53ee8cc1Swenshuai.xi 27*53ee8cc1Swenshuai.xiVERSION = $3 28*53ee8cc1Swenshuai.xiPATCHLEVEL = $4 29*53ee8cc1Swenshuai.xi 30*53ee8cc1Swenshuai.xilastword = \$(word \$(words \$(1)),\$(1)) 31*53ee8cc1Swenshuai.ximakedir := \$(dir \$(call lastword,\$(MAKEFILE_LIST))) 32*53ee8cc1Swenshuai.xi 33*53ee8cc1Swenshuai.xiMAKEARGS := -C $1 34*53ee8cc1Swenshuai.xiMAKEARGS += O=\$(if \$(patsubst /%,,\$(makedir)),\$(CURDIR)/)\$(patsubst %/,%,\$(makedir)) 35*53ee8cc1Swenshuai.xi 36*53ee8cc1Swenshuai.xiMAKEFLAGS += --no-print-directory 37*53ee8cc1Swenshuai.xi 38*53ee8cc1Swenshuai.xi.PHONY: all \$(MAKECMDGOALS) 39*53ee8cc1Swenshuai.xi 40*53ee8cc1Swenshuai.xiall := \$(filter-out all Makefile,\$(MAKECMDGOALS)) 41*53ee8cc1Swenshuai.xi 42*53ee8cc1Swenshuai.xiall: 43*53ee8cc1Swenshuai.xi \$(MAKE) \$(MAKEARGS) \$(all) 44*53ee8cc1Swenshuai.xi 45*53ee8cc1Swenshuai.xiMakefile:; 46*53ee8cc1Swenshuai.xi 47*53ee8cc1Swenshuai.xi\$(all): all 48*53ee8cc1Swenshuai.xi @: 49*53ee8cc1Swenshuai.xi 50*53ee8cc1Swenshuai.xi%/: all 51*53ee8cc1Swenshuai.xi @: 52*53ee8cc1Swenshuai.xiEOF 53