On Friday 03 December 2004 21:59, Kristin Wright wrote:
>> I'd like to add a line to some application makefiles to not compile
> platforms which don't compile. The alternative is that a 'make all' from
> apps/ dies which isn't very reassuring for the user.
>> Are any of these new lines for the given application's Makefile wrong?
>> apps/Ident:
> PLATFORMS=mica mica2 mica2dot micaz pc
>> apps/SenseLightToLog:
> PLATFORMS=mica mica2 mica2dot micaz pc
>> apps/TestEEPROM/EEPROM:
> PLATFORMS=mica mica2 mica2dot micaz
>> apps/Surge:
> # Use SurgeTelos for telos (currently in contrib/ucb/apps/SurgeTelos)
> PLATFORMS=mica mica2 mica2dot micaz pc
>> apps/SimpleCmd:
> PLATFORMS=mica mica2 mica2dot micaz pc
>> apps/TestTinySec:
> PLATFORMS=mica2 mica2dot
I fully agree that we have to find a way to make the installation more user
friendly. My comments below are more general in nature and not directly
connected with the above changes.
I want to point out that this trend of explicitly naming the platforms in the
Makefiles, and in #ifdef in the components makes our job of maintaingin the
eyesIFX platforms from /contrib harder from day to day.
This brakes the concept of reconfiguration using only include path overrides.
I understand that #ifdefs are the convenient approach when there are only
slight code differences between the platforms in a component, but this forces
us to maintain a duplicate of the component in /contrib/eyes only for the
purpose of overriding some #define.
If we want to keep the possibility of offering platforms from /contrib, then
we need some better solution. Splitting the components in platform
independent and platform dependent parts might be an option. Or we can
continue with the #ifdef approach, but then allow the platform maintainers
in /contrib to add the necessary modifications to the #defines in the "main
tree" components.
Vlado