source/build separation