xref: /utopia/UTPA2-700.0.x/projects/build/scripts/mkmakefile (revision 53ee8cc121a030b8d368113ac3e966b4705770ef)
1*53ee8cc1Swenshuai.xi#!/bin/sh
2*53ee8cc1Swenshuai.xi# Generates a small Makefile used in the root of the output
3*53ee8cc1Swenshuai.xi# directory, to allow make to be started from there.
4*53ee8cc1Swenshuai.xi# The Makefile also allow for more convinient build of external modules
5*53ee8cc1Swenshuai.xi
6*53ee8cc1Swenshuai.xi# Usage
7*53ee8cc1Swenshuai.xi# $1 - Kernel src directory
8*53ee8cc1Swenshuai.xi# $2 - Output directory
9*53ee8cc1Swenshuai.xi# $3 - version
10*53ee8cc1Swenshuai.xi# $4 - patchlevel
11*53ee8cc1Swenshuai.xi
12*53ee8cc1Swenshuai.xi
13*53ee8cc1Swenshuai.xitest ! -r $2/Makefile -o -O $2/Makefile || exit 0
14*53ee8cc1Swenshuai.xi# Only overwrite automatically generated Makefiles
15*53ee8cc1Swenshuai.xi# (so we do not overwrite kernel Makefile)
16*53ee8cc1Swenshuai.xiif test -e $2/Makefile && ! grep -q Automatically $2/Makefile
17*53ee8cc1Swenshuai.xithen
18*53ee8cc1Swenshuai.xi	exit 0
19*53ee8cc1Swenshuai.xifi
20*53ee8cc1Swenshuai.xiif [ "${quiet}" != "silent_" ]; then
21*53ee8cc1Swenshuai.xi	echo "  GEN     $2/Makefile"
22*53ee8cc1Swenshuai.xifi
23*53ee8cc1Swenshuai.xi
24*53ee8cc1Swenshuai.xicat << EOF > $2/Makefile
25*53ee8cc1Swenshuai.xi# Automatically generated by $0: don't edit
26*53ee8cc1Swenshuai.xi
27*53ee8cc1Swenshuai.xiVERSION = $3
28*53ee8cc1Swenshuai.xiPATCHLEVEL = $4
29*53ee8cc1Swenshuai.xi
30*53ee8cc1Swenshuai.xilastword = \$(word \$(words \$(1)),\$(1))
31*53ee8cc1Swenshuai.ximakedir := \$(dir \$(call lastword,\$(MAKEFILE_LIST)))
32*53ee8cc1Swenshuai.xi
33*53ee8cc1Swenshuai.xiMAKEARGS := -C $1
34*53ee8cc1Swenshuai.xiMAKEARGS += O=\$(if \$(patsubst /%,,\$(makedir)),\$(CURDIR)/)\$(patsubst %/,%,\$(makedir))
35*53ee8cc1Swenshuai.xi
36*53ee8cc1Swenshuai.xiMAKEFLAGS += --no-print-directory
37*53ee8cc1Swenshuai.xi
38*53ee8cc1Swenshuai.xi.PHONY: all \$(MAKECMDGOALS)
39*53ee8cc1Swenshuai.xi
40*53ee8cc1Swenshuai.xiall	:= \$(filter-out all Makefile,\$(MAKECMDGOALS))
41*53ee8cc1Swenshuai.xi
42*53ee8cc1Swenshuai.xiall:
43*53ee8cc1Swenshuai.xi	\$(MAKE) \$(MAKEARGS) \$(all)
44*53ee8cc1Swenshuai.xi
45*53ee8cc1Swenshuai.xiMakefile:;
46*53ee8cc1Swenshuai.xi
47*53ee8cc1Swenshuai.xi\$(all): all
48*53ee8cc1Swenshuai.xi	@:
49*53ee8cc1Swenshuai.xi
50*53ee8cc1Swenshuai.xi%/: all
51*53ee8cc1Swenshuai.xi	@:
52*53ee8cc1Swenshuai.xiEOF
53