[Swan-dev] what should "make ; sudo make install" do (again)

Andrew Cagney andrew.cagney at gmail.com
Fri May 15 20:06:08 EEST 2015


On 14 May 2015 at 15:20, D. Hugh Redelmeier <hugh at mimosa.com> wrote:

> | From: Andrew Cagney <andrew.cagney at gmail.com>
> | First, as discussed on IRC, it turns out that the sequence:
> |
> |   make programs ; sudo make install
> |
> | is very much entrenched as a standard way to get everything installed.
> | Consequently, to avoid having "make install" build stuff, "make programs"
> | will need to build everything - it can't just build programs.
> Effectively
> | "programs" and "all" are synonyms.
> Ouch.
> I frequently do "make programs" to build JUST userland.
Just to clarify, up until a few days ago "make programs install"

- binaries
- scripts
- configs
- just docs (aka man pages) install worked  - if xmlto was in your path the
build tended to die; and it if wasn't, good luck is what let things continue

As proposed, I changed things, and fixed some bugs, so that "make all
install" did all the above (including docs) and worked; and then set up
"make programs install-programs" to do binaries, scripts and configs but
not docs/manpages.

Unfortunatly, it turned out that "make programs; sudo make install" was
more entrenched than I realized.

> It seems really dumb to make "make programs" do something other than make
> programs.

See above, that initial mistake was made long ago.

My suggestion here is to remove "programs" from any and all documentation;
but accept it as an undocumented alias for building all of userland
including manuals.

> Surely
>         make ; sudo make install
> or
>         make all ; sudo make install

I personally think "all" should build modules as well; but that seems to
get messy.  The argument for not having "make" default to building
everything including modules is that the user needs to select which modules
to build; hence "make" prints a help message and lets the user decide.

> would be the right way to do what people misuse
>         make programs ; sudo make install
> to do.

The other complication is that we need some short cuts (aka targets) to:

- build/install all but documentation - linux cross compiles apparently
can't deal with documentation
- build/install just binaries and scripts - to speed up test builds (this
one would be less of an issue if the test-build process didn't rm -rf

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.libreswan.org/pipermail/swan-dev/attachments/20150515/10e3fa40/attachment.html>

More information about the Swan-dev mailing list