Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


Ignore frees of null in all cases (kfree, vfree, pagefree)
[palacios.git] / scripts / mkmakefile
1 #!/bin/sh
2 # Generates a small Makefile used in the root of the output
3 # directory, to allow make to be started from there.
4 # The Makefile also allow for more convinient build of external modules
5
6 # Usage
7 # $1 - Kernel src directory
8 # $2 - Output directory
9 # $3 - version
10 # $4 - patchlevel
11
12
13 test ! -r $2/Makefile -o -O $2/Makefile || exit 0
14 # Only overwrite automatically generated Makefiles
15 # (so we do not overwrite kernel Makefile)
16 if test -e $2/Makefile && ! grep -q Automatically $2/Makefile
17 then
18         exit 0
19 fi
20 echo "  GEN     $2/Makefile"
21
22 cat << EOF > $2/Makefile
23 # Automatically generated by $0: don't edit
24
25 VERSION = $3
26 PATCHLEVEL = $4
27
28 lastword = \$(word \$(words \$(1)),\$(1))
29 makedir := \$(dir \$(call lastword,\$(MAKEFILE_LIST)))
30
31 MAKEARGS := -C $1
32 MAKEARGS += O=\$(if \$(patsubst /%,,\$(makedir)),\$(CURDIR)/)\$(patsubst %/,%,\$(makedir))
33
34 MAKEFLAGS += --no-print-directory
35
36 .PHONY: all \$(MAKECMDGOALS)
37
38 all     := \$(filter-out all Makefile,\$(MAKECMDGOALS))
39
40 all:
41         \$(MAKE) \$(MAKEARGS) \$(all)
42
43 Makefile:;
44
45 \$(all) %/: all
46         @:
47
48 EOF