Polarwolf,
the approach you propose (and use I guess) is fine, but leave some problems unaddressed:
1) each "rules" file will have to define a bunch of variables used for cross-compilation, cflags, etc...
2) ipkg-buildpackage doesn't know how to build multiple packages for a single source
3) dependencies are not handled
Theese problems could be handled:
1) if you provide a OPENWRT_BUILDROOT environment variable, we could source a "make" file containing all variables used for package building
2) ipkg-buildpackage could be patched to let the "rules" file build its packages if it knows how. We could add a "binary" target to the "rules" file and let ipkg-buildpackage test for it (ipkg/rules -n binary), if it gets an error then the "rules" file is ignorant and ipkg-buildpackage can continue the usual way
3) dependencies are complex, for sure, but should be addressed
Let me know what you (and others) think, I'd really like to help...
--
Nico