The 'lib' target was inteded to be a target the project-specific build could
override. However, the common build was using it to create dependancies on
'-lib-local' and '-lib-ivy'. If a project-specific build ovverrode lib and
forgot to add those dependancies it would break. The project-specific builds
should not be required to know about the internal dependancies of the common
build. A new target '-lib' was created, which depends on '-lib-local',
'lic-ivy', and 'lib'. 'lib' is not an empty target that is safe to be
overridden.