don't build dependencies on every single invocation, and add a clean-all target to re-build even those
proper dependency information for build and test targets
- static needs deps to build, shared needs deps only to run/test
fix test of build products