Nicolas Williams wrote: > I'd have to > > LD_OPTIONS=<options1> gmake <list of build tools private to SQLite3> > LD_OPTIONS=<options2> gmake libsqlite3.la > LD_OPTIONS=<options3> gmake libtclsqlite3.la > LD_OPTIONS=<options1> gmake sqlite3 > > The makefile I wrote is rather simplistic too, and it'd need a bit of an > overhaul. I did do it, actually, this weekend, and decided that I > didn't like having to write that list of build tools into the SFW > makefile. Perhaps I should get over it. > >>> Or perhaps I could add -z ignore to LD_OPTIONS too (to ignore the >>> symbols listed in the mapfile when building those interim executables). >>> And use a separate target for the one executable that is installed (so >>> it gets the noexecstack mapfile). >> -z ignore isn't going to ignore unknown/unused mapfile entries, sorry. >> >> Perhaps we need an LD_OPTIONS_<object name> variable :-) > > Yes, I just suggested the same. That'd rock! Then I'd just: > > LD_OPTIONS=<options for executables> LD_OPTIONS_libsqlite_so=... \ > DESTDIR=... ... gmake install > > one gmake, that's it.
I guess the one gmake is a simplification, but you still have to define the components in an SFW makefile. You either have: LD_OPTIONS=<options1> gmake <component1> LD_OPTIONS=<options2> gmake <component2> or LD_OPTIONS_component1=<options1> \ LD_OPTIONS_component2=<options2> gmake You still have to list the build tools. I'd really like to hear from other SFW engineers too, especially if there's anything else we could do to simplify the build environment. -- Rod