Updates #16 by adding some infrastructure for different build targets