
On Mon, Oct 26, 2009 at 07:57:50PM -0400, Mike Frysinger wrote:
On Monday 26 October 2009 18:17:03 Scott Wood wrote:
Currently, some of the tools instead set CC to be HOSTCC in order to re-use some pattern rules -- but this fails when the user overrides CC on the make command line. Also, the HOSTCFLAGS in tools/Makefile are currently not being used because config.mk overwrites them.
This patch adds static pattern rules for files that have been requested to be built with the native compiler using $(HOSTSRCS) and $(HOSTOBJS), and converts the tools to use them.
your new easylogo rule lacks HOSTLDFLAGS ...
OK, will add.
perhaps it would make more sense to create a HOSTCOMPILE/HOSTLINK (or whatever) variable so this kind of thing isnt missed ? HOSTCOMPILE = $(HOSTCC) $(HOSTCFLAGS) HOSTLINK = $(HOSTCOMPILE) $(HOSTLDFLAGS)
Maybe. What about PEDCFLAGS? Should that be the default for HOSTCOMPILE, and then have a HOSTCOMPILENOPED?
also, PEDCFLAGS seems at odds with the rest of your consistency changes. how about naming it HOSTCFLAGS+PED ? then you would have a new var: HOSTCOMPILE+PED = $(HOSTCC) $(HOSTCFLAGS+PED)
I left off the HOST for conciseness because we only use -pedantic when building hosted stuff (and that's unlikely to change, since main u-boot code has lower portability requirements), but I can add it if desired.
It restores easylogo to using the host compiler, which was broken by commit 38d299c2db81bd889c601b5dfc12c4e83ef83333 (if this was an intentional change, please let me know -- but it seems to be a build tool).
it was intentional, but for different reasons. easylogo isnt integrated into the u-boot build system, so in order to compile things in there, you had to go into the subdir and manually run `make`. if it were integrated into the build system like all other tools, then converting to host tools is fine. but unless i missed something, it doesnt appear to be ? and now, going into the subdir and running `make` wont work either ...
I was expecting it to be built by adding easylogo to TOOLSUBDIRS (it would be better if there were a distinct make target for it, but that's another patch). Other tools such as gdb already assume they're being run in this manner.
-Scott