18c32dac75
The check introduced in commit:
4f1127e204
"kbuild: fix
infinite make recursion"
caused certain external modules not to build and
also caused 'make targz-pkg' to fail.
This is a minimal fix so we revert to previous
behaviour - but we do not overwrite the Makefile
in the top-level directory.
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Tested-by: Jay Cliburn <jacliburn@bellsouth.net>
Cc: Jay Cliburn <jacliburn@bellsouth.net>
45 lines
873 B
Bash
45 lines
873 B
Bash
#!/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 ! 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
|