[OT] portable Makefiles (was: CD writing in future Linux (stirring up a hornets' nest))

From: Matthias Andree
Date: Tue Feb 21 2006 - 06:46:14 EST


Joerg Schilling schrieb am 2006-02-21:

> Matthias Andree <matthias.andree@xxxxxx> wrote:
>
> > Joerg Schilling schrieb am 2006-02-21:
> >
> > > Try to use my smake to find out whether you use non-portable constructs.
> > > Smake warns you about the most common problems in makefiles.
> >
> > To complement this, running Solaris' /usr/{ccs,xpg4}/bin/make and BSD's
> > portable make (just bootstrap www.pkgsrc.org to obtain "bmake" on Linux)
> > is probably a much better approach since it tests real-world make
> > implementations rather than an artificial and not widely available local
> > flavor.
>
> Thank you for proving that you are completely uninformed!

You just proved your incapability to extract the meaning of five simple
lines. If you're incapable to understand simple statements like these,
shut your head.

The meaning is, just especially for you so you can excuse yourself, and
in PowerPoint style to be easy on your time:

- run Solaris' /usr/{ccs,xpg4}/bin/make
to find out if your Makefile is portable

- run BSD's portable make (that's a proper name)
to find out if your Makefile is portable

- testing real-world make programs with Makefiles will find out much
more reliably if non-portable constructs are used.

Examples: smake -W -posix (version 1.2a34, the newest available) doesn't
warn of include foo.d (works with said make tools, but isn't POSIX
compliant), and doesn't warn of -include foo.d (works with smake, GNU
make, BSD make, but not SUN make).

This is pretty strong evidence that smake is insufficient as
Makefile portability validator, which substantiates my recommendation to
test real-world make(1) programs rather than smake to find out the
portability characteristics.

And now repeat your insult I were uninformed again,
that's your quickest way to criminal prosecution.
You said good-bye to factual discussion long ago.

--
Matthias Andree
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/