#defines are evaluated at compile time, not at runtime. So when you want to have a folder structure in a compiled version, you need to use a WDL file to define the paths. That's not a bug, it's just how #defines work in a compiled language.