home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.27-7 / scripts / mkmakefile < prev    next >
Encoding:
Makefile  |  2008-10-09  |  1.0 KB  |  49 lines

  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
  49.