nekromant / antares

antares uC buildsystem
210 stars 31 forks source link

Build for each arch from one project. Multi Targets #58

Open BASM opened 10 years ago

BASM commented 10 years ago

What do you think about building in the one project more than one architecture (without any reconfiguration)? Or for more than one board? For example I want to build project for ARM (for board TEST1), AVR (for board TEST2) and Host (for unit tests). Maybe create subdirectories in the "image" directory: arm[board], avr[board] and other?

nekromant commented 10 years ago

Well, so far the only thing that can be made here - have a few configs, like config_boardX. And build your project N times. If each config has a different name under images/ - that will be good. You can add a custom receipe to project Makefile to do that for you. There's an env variable, KCONFIG_CONF, if I remember correct, that sets the config file for kconf and friends (replaces default .config), that can be of use here. 0.1.x versions of antares had a 'profile-switch' mechanism for that, but I had to remove that, since that was hacky, buggy, complicated things for single-profile builds, etc. And never worked out. So far I haven't come up with a convenient way to do that. If you have any ideas - you're welcome. Note, that truly multi-profile build will require a LOT of buildsystem hacking. namely, you'll need to maintain N build/, tmp/ include/generated/ directories, for each of your configs, so that rebuilds won't take forever on big profiles. Btw #40 should be fixed before even starting work on this, so that ARCH_FEATURES work as expected.