122433fc5SMasahiro Yamada#!/bin/sh 222433fc5SMasahiro Yamada# Generates a small Makefile used in the root of the output 322433fc5SMasahiro Yamada# directory, to allow make to be started from there. 422433fc5SMasahiro Yamada# The Makefile also allow for more convinient build of external modules 522433fc5SMasahiro Yamada 622433fc5SMasahiro Yamada# Usage 722433fc5SMasahiro Yamada# $1 - Kernel src directory 822433fc5SMasahiro Yamada# $2 - Output directory 922433fc5SMasahiro Yamada# $3 - version 1022433fc5SMasahiro Yamada# $4 - patchlevel 1122433fc5SMasahiro Yamada 1222433fc5SMasahiro Yamada 1322433fc5SMasahiro Yamadatest ! -r $2/Makefile -o -O $2/Makefile || exit 0 1422433fc5SMasahiro Yamada# Only overwrite automatically generated Makefiles 1522433fc5SMasahiro Yamada# (so we do not overwrite kernel Makefile) 1622433fc5SMasahiro Yamadaif test -e $2/Makefile && ! grep -q Automatically $2/Makefile 1722433fc5SMasahiro Yamadathen 1822433fc5SMasahiro Yamada exit 0 1922433fc5SMasahiro Yamadafi 2022433fc5SMasahiro Yamadaif [ "${quiet}" != "silent_" ]; then 2122433fc5SMasahiro Yamada echo " GEN $2/Makefile" 2222433fc5SMasahiro Yamadafi 2322433fc5SMasahiro Yamada 2422433fc5SMasahiro Yamadacat << EOF > $2/Makefile 2522433fc5SMasahiro Yamada# Automatically generated by $0: don't edit 2622433fc5SMasahiro Yamada 2722433fc5SMasahiro YamadaVERSION = $3 2822433fc5SMasahiro YamadaPATCHLEVEL = $4 2922433fc5SMasahiro Yamada 3022433fc5SMasahiro Yamadalastword = \$(word \$(words \$(1)),\$(1)) 3122433fc5SMasahiro Yamadamakedir := \$(dir \$(call lastword,\$(MAKEFILE_LIST))) 3222433fc5SMasahiro Yamada 3322433fc5SMasahiro Yamadaifeq ("\$(origin V)", "command line") 3422433fc5SMasahiro YamadaVERBOSE := \$(V) 3522433fc5SMasahiro Yamadaendif 3622433fc5SMasahiro Yamadaifneq (\$(VERBOSE),1) 3722433fc5SMasahiro YamadaQ := @ 3822433fc5SMasahiro Yamadaendif 3922433fc5SMasahiro Yamada 4022433fc5SMasahiro YamadaMAKEARGS := -C $1 4122433fc5SMasahiro YamadaMAKEARGS += O=\$(if \$(patsubst /%,,\$(makedir)),\$(CURDIR)/)\$(patsubst %/,%,\$(makedir)) 4222433fc5SMasahiro Yamada 4322433fc5SMasahiro YamadaMAKEFLAGS += --no-print-directory 4422433fc5SMasahiro Yamada 45*e7734404SMasahiro Yamada.PHONY: __sub-make \$(MAKECMDGOALS) 4622433fc5SMasahiro Yamada 47*e7734404SMasahiro Yamada__sub-make: 48*e7734404SMasahiro Yamada \$(Q)\$(MAKE) \$(MAKEARGS) \$(MAKECMDGOALS) 4922433fc5SMasahiro Yamada 50*e7734404SMasahiro Yamada\$(filter-out __sub-make, \$(MAKECMDGOALS)): __sub-make 5122433fc5SMasahiro Yamada @: 5222433fc5SMasahiro YamadaEOF 53