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
7
# $1 - Kernel src directory
8
# $2 - Output directory
13
test ! -r $2/Makefile -o -O $2/Makefile || exit 0
14
# Only overwrite automatically generated Makefiles
15
# (so we do not overwrite kernel Makefile)
16
if test -e $2/Makefile && ! grep -q Automatically $2/Makefile
20
echo " GEN $2/Makefile"
22
cat << EOF > $2/Makefile
23
# Automatically generated by $0: don't edit
28
lastword = \$(word \$(words \$(1)),\$(1))
29
makedir := \$(dir \$(call lastword,\$(MAKEFILE_LIST)))
32
MAKEARGS += O=\$(if \$(patsubst /%,,\$(makedir)),\$(CURDIR)/)\$(patsubst %/,%,\$(makedir))
34
MAKEFLAGS += --no-print-directory
36
.PHONY: all \$(MAKECMDGOALS)
38
all := \$(filter-out all Makefile,\$(MAKECMDGOALS))
41
\$(MAKE) \$(MAKEARGS) \$(all)