In preparation for ‘makelibs’ I’ve spent the last few days rearranging the build system so each app gets it’s own build dir. Boring, fiddly stuff, but necessary.
I’m using a .build dir system similar to monkey1’s, with a subdir for each ‘profile’ that will contain the output app, and a build_cache dir for temporary link files, eg:
Some of this will eventually be configurable, via settings such as PRODUCT_DIR, PRODUCT_NAME etc.
A ‘profile’ in this case is just a combination of ‘build flags’, eg: target; debug/profile/release; static/dynamic etc. It’d also be nice to allow people to add custom profiles in addition to the built-in/default ones. Custom profiles would be to define and override compiler and linker options.
Already, just giving each app it’s own build dir is giving me a better idea of how monkey2 builds should perform in practice, and once the initial ‘build everything’ is done, it’s looking pretty good!