linux-imx/scripts/mkmakefile
Jan Beulich ca3d0a0f66 fixes for using make 3.82
commit 3c955b407a upstream.

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>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-08-26 16:46:19 -07:00

1.1 KiB

#!/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