> The obvious problem is that if he calls MAKE, 'main' will be done before
> 'library'.

That is the problem in a nutshell.

> The easiest fix would be to reverse that order, but that
> isn't currently possible (it's funny how the simplest things can be so
> difficult in EDE). I did code `ede-project-sort-targets' for this
> purpose, but that doesn't include subproject targets. That should
> probably be added, but isn't straightforward to do.

I hacked a fix by adding an inference rule that just overwrote the 'all' target in the Makefile to do my subproject first.  But I got lucky because my new 'all' target came second, and overwrote the default definition of 'all'

> Maybe the easiest fix would be to always do subprojects in 'all' first?
> That would be a trivial change in the code, but I'm not sure what that
> implies.

I know that on some of my own projects, that would still fail.  I think it'd be much more generally useful to be able to make a target depend on another target.

Anyway, thanks.  I hope you're feeling better.  :)