Added dependencies to target definitions.
Changed return type of function compile.
Implemented basic compiler abstraction.
Implemented compilation of build script.