JW-Build Design Goals --------------------- o Command-line and script friendly o Self-contained, self-building o Requires GNU-Make, Bash and Python o Minimally invasive (3-liner Makefiles, if any at all) o Support for cross compilation o Sensible defaults, easily and flexibly customizable to build anything o Allow changing into subdirectories for edit-compile-run cycles o Build artifact caching (object files, packages) o Work identically with and without installation o Allow remote installation of packages o Integration into versioning and packaging of corporate development workflow o Allow inter-package dependencies to be coded, in-house and 3rd party o Work with minimal documentation (i.e.: "Run make on janware.com/Makefile!") o No undocumented steps o Allow user privilege separation o Allow web iterfaces for viewing