mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-21 18:14:48 +08:00
3c955b407a
It doesn't like pattern and explicit rules to be on the same line, and it seems to be more picky when matching file (or really directory) names with different numbers of trailing slashes. Signed-off-by: Jan Beulich <jbeulich@novell.com> Acked-by: Sam Ravnborg <sam@ravnborg.org> Andrew Benton <b3nton@gmail.com> Cc: <stable@kernel.org> Signed-off-by: Michal Marek <mmarek@suse.cz>
53 lines
1.1 KiB
Bash
53 lines
1.1 KiB
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 test -e $2/Makefile && ! grep -q Automatically $2/Makefile
|
|
then
|
|
exit 0
|
|
fi
|
|
if [ "${quiet}" != "silent_" ]; then
|
|
echo " GEN $2/Makefile"
|
|
fi
|
|
|
|
cat << EOF > $2/Makefile
|
|
# Automatically generated by $0: don't edit
|
|
|
|
VERSION = $3
|
|
PATCHLEVEL = $4
|
|
|
|
lastword = \$(word \$(words \$(1)),\$(1))
|
|
makedir := \$(dir \$(call lastword,\$(MAKEFILE_LIST)))
|
|
|
|
MAKEARGS := -C $1
|
|
MAKEARGS += O=\$(if \$(patsubst /%,,\$(makedir)),\$(CURDIR)/)\$(patsubst %/,%,\$(makedir))
|
|
|
|
MAKEFLAGS += --no-print-directory
|
|
|
|
.PHONY: all \$(MAKECMDGOALS)
|
|
|
|
all := \$(filter-out all Makefile,\$(MAKECMDGOALS))
|
|
|
|
all:
|
|
\$(MAKE) \$(MAKEARGS) \$(all)
|
|
|
|
Makefile:;
|
|
|
|
\$(all): all
|
|
@:
|
|
|
|
%/: all
|
|
@:
|
|
EOF
|