build system overhaul
diff --git a/Makefile.help b/Makefile.help
new file mode 100644
index 0000000..3ba68d1
--- /dev/null
+++ b/Makefile.help
@@ -0,0 +1,88 @@
+### Kernel's one:
+### help:
+### 	@echo  'Cleaning targets:'
+### 	@echo  '  clean		  - remove most generated files but keep the config'
+### 	@echo  '  mrproper	  - remove all generated files + config + various backup files'
+### 	@echo  ''
+### 	@echo  'Configuration targets:'
+### 	@$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help
+### 	@echo  ''
+### 	@echo  'Other generic targets:'
+### 	@echo  '  all		  - Build all targets marked with [*]'
+### 	@echo  '* busybox	  - Build the bare kernel'
+### 	@echo  '* modules	  - Build all modules'
+### 	@echo  '  modules_install - Install all modules to INSTALL_MOD_PATH (default: /)'
+### 	@echo  '  dir/            - Build all files in dir and below'
+### 	@echo  '  dir/file.[ois]  - Build specified target only'
+### 	@echo  '  dir/file.ko     - Build module including final link'
+### 	@echo  '  rpm		  - Build a kernel as an RPM package'
+### 	@echo  '  tags/TAGS	  - Generate tags file for editors'
+### 	@echo  '  cscope	  - Generate cscope index'
+### 	@echo  '  kernelrelease	  - Output the release version string'
+### 	@echo  '  kernelversion	  - Output the version stored in Makefile'
+### 	@echo  ''
+### 	@echo  'Static analysers'
+### 	@echo  '  checkstack      - Generate a list of stack hogs'
+### 	@echo  '  namespacecheck  - Name space analysis on compiled kernel'
+### 	@echo  ''
+### 	@echo  'Kernel packaging:'
+### 	@$(MAKE) $(build)=$(package-dir) help
+### 	@echo  ''
+### 	@echo  'Documentation targets:'
+### 	@$(MAKE) -f $(srctree)/Documentation/DocBook/Makefile dochelp
+### 	@echo  ''
+### 	@echo  'Architecture specific targets ($(ARCH)):'
+### 	@$(if $(archhelp),$(archhelp),\
+### 		echo '  No architecture specific help defined for $(ARCH)')
+### 	@echo  ''
+### 	@$(if $(boards), \
+### 		$(foreach b, $(boards), \
+### 		printf "  %-24s - Build for %s\\n" $(b) $(subst _defconfig,,$(b));) \
+### 		echo '')
+### 
+### 	@echo  '  make V=0|1 [targets] 0 => quiet build (default), 1 => verbose build'
+### 	@echo  '  make O=dir [targets] Locate all output files in "dir", including .config'
+### 	@echo  '  make C=1   [targets] Check all c source with $$CHECK (sparse)'
+### 	@echo  '  make C=2   [targets] Force check of all c source with $$CHECK (sparse)'
+### 	@echo  ''
+### 	@echo  'Execute "make" or "make all" to build all targets marked with [*] '
+### 	@echo  'For further info see the ./README file'
+
+help:
+	@echo 'Cleaning:'
+	@echo '  clean			- delete temporary files created by build'
+	@echo '  distclean		- delete all non-source files (including .config)'
+	@echo
+	@echo 'Build:'
+	@echo '  all			- Executable and documentation'
+	@echo '  busybox		- the swiss-army executable'
+	@echo '  doc			- docs/BusyBox.{txt,html,1}'
+	@echo '  html			- create html-based cross-reference'
+	@echo
+	@echo 'Configuration:'
+	@echo '  allnoconfig		- disable all symbols in .config'
+	@echo '  allyesconfig		- enable all symbols in .config (see defconfig)'
+	@echo '  allbareconfig		- enable all applets without any sub-features'
+	@echo '  config		- text based configurator (of last resort)'
+	@echo '  defconfig		- set .config to largest generic configuration'
+	@echo '  menuconfig		- interactive curses-based configurator'
+	@echo '  oldconfig		- resolve any unresolved symbols in .config'
+	@echo '  hosttools  		- build sed for the host.'
+	@echo '  			  You can use these commands if the commands on the host'
+	@echo '  			  is unusable. Afterwards use it like:'
+	@echo '			  make SED="$(objtree)/sed"'
+	@echo
+	@echo 'Installation:'
+	@echo '  install		- install busybox into $(PREFIX)'
+	@echo '  uninstall'
+	@echo
+	@echo 'Development:'
+	@echo '  baseline		- create busybox_old for bloatcheck.'
+	@echo '  bloatcheck		- show size difference between old and new versions'
+	@echo '  check			- run the test suite for all applets'
+	@echo '  checkhelp		- check for missing help-entries in Config.in'
+	@echo '  randconfig		- generate a random configuration'
+	@echo '  release		- create a distribution tarball'
+	@echo '  sizes			- show size of all enabled busybox symbols'
+	@echo '  objsizes		- show size of each .o object built'
+	@echo