A platform independent build structure for GNU make and Visual Studio