Re: Make utility - views/opinions sought

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View

Quoted text here. Click to load it

The Cygwin32 project has some --- you may have to install some support
files to go with it, though (the Cygwin DLL for sure, Bash and GNU
core utilities for best results).

There are other ports of GNU tools to Windows besides Cygwin32,
e.g. the MinGW32 project, and UWin, and probably a few more.  Your
choice.  They differ mainly in how closely they try to imitate or at
least be tolerant to native conventions of the Windows platform,
instead of Unix-ish traditions.  Most of them will exhibit massive
problems if you try to use backslashes as directory separators, e.g.

Quoted text here. Click to load it

It's almost completely impossible to guess what "user friendly" might
mean to you, in this context.  The GNU make documentation is available
in all kinds of formats (from it's native "info" online readable
format to HTML, PDF and TeX, to name just a few).  Whether or not you
perceive the common contents of all these versions as "friendly" is a
judgement you can only make yourself.

In case of doubt there's an O'Reilly book about GNU make too, if
memory serves.

Either way: it's available for free, so it should at the very least be
worth giving it a try.  If you want to write truly
platform-independent makefiles, GNU make is about the best bet there
is.
--
Hans-Bernhard Broeker ( snipped-for-privacy@physik.rwth-aachen.de)
Even if all the snow were burnt, ashes would remain.

Re: Make utility - views/opinions sought
Quoted text here. Click to load it

GNU make is pretty standard; therefore you have quite a bit of choice re
documentation.

One port of the GNU tools to DOS/Windows is DJGPP:
  http://www.delorie.com/djgpp /

I've used this with no real problems.

Steve
http://www.sfdesign.co.uk
http://www.fivetrees.com



Re: Make utility - views/opinions sought

Quoted text here. Click to load it

I personally just use nmake from Microsoft. Why fight city hall. It works
pretty well and documentation can be found for it if you google hard
enough.

--
- Mark ->
--

Re: Make utility - views/opinions sought
Quoted text here. Click to load it

That will come as a big surprise to my co-workers and I who
use Opus Make daily on Win 2K.
Maybe it's time to get an updated version?

--Gene

Re: Make utility - views/opinions sought

Quoted text here. Click to load it

I've had good luck with the make that comes with WinAVR.  I think it's
the MingW version.  Also comes with html documentation and a host of
other utilities that almost make Windoze a reasonable development
platform.  I normally avoid long file names, but it handled
"delaytest.*" without any problems.

I also found a gnu_mak_man.pdf on the net somewhere (I don't
remember).  But it's written for 3.75 beta (I'm running 3.78.1), and
it's painfully slow to draw pages in Acrobat, but it might be nice for
a printed copy.

The "less" that comes with Cygwin works better than the one that comes
with WinAVR, though, and I still use that.

Regards,

                               -=Dave
--
Change is inevitable, progress is not.

Re: Make utility - views/opinions sought
Microsoft NMAKE works OK. The documentation can be found in online help in
Visual Studio

The problem with this is there's no automatic dependency searching, so you
either need to maintain it manually, or use some other utility to search
your source files and recurse into headers to find 'em all.


Quoted text here. Click to load it



Re: Make utility - views/opinions sought
On Thu, 24 Jul 2003 09:41:35 +0100, "Robert Manktelow"

Quoted text here. Click to load it

I've been using, happily, the make from the MKS toolkit for years and
years. I'm still at ver 5.1a -- haven't seen any need to upgrade. Their
current offerings are rather pricey but the quality is (or, at least,
was) quite good.

--
Rich Webb   Norfolk, VA

Re: Make utility - views/opinions sought
snipped-for-privacy@telspec.co.uk says...
Quoted text here. Click to load it

Try "scons", a fantastic replacement for "make", which -- amongst
other things -- automatically maintains dependencies for you:

http://www.scons.org /

You may also want to look at its sibling, "cons":

http://www.dsmit.com/cons /

I'm not sure which one is best these days; I think scons is.

Christer Ericson
Sony Computer Entertainment, Santa Monica

Re: Make utility - views/opinions sought

Quoted text here. Click to load it

Thanks to all of you for your responses.
I will now go off and do some research - much appreciated.

Robert



Re: Make utility - views/opinions sought
Quoted text here. Click to load it

I can provide some insight here.  I'm the project founder/lead for SCons,
so I may have some bias, but I was also the principal coder for Cons
during the last few years of its active life, so I know both tools and
projects well.  In general, SCons is the way to go.  Cons is essentially
a dead project at this point, but SCons is thriving and has a growing
user community.

As a descendant of the Cons design, SCons corrects many of its
architectural shortcomings.  SCons supports a virtual superset of the
Cons functionality and then some, and is more easily extensible.  See the
SCons web site for a good overview of what it can do.  Notably for
many people, SCons supports parallel builds on all systems, including
win32.  Cons would be difficult to parallelize without a major
architectural overhaul.

The only thing to recommend Cons these days is if you can't stomach
Python, and prefer Perl to the point where you can live with a tool
that will not have any active development or bug fixes done on it.
SCons and Cons configuration files are Python and Perl scripts,
respectively, from which you make function calls to establish
dependencies, etc.  Being able to specify your build configuration
using a full scripting language greatly simplifies a lot of thorny
build issues.

Christer, thanks for mentioning SCons and Cons; I'm glad that SCons
seems to be helping you.

        --SK

Re: Make utility - views/opinions sought

    A couple of people mentioned the problem of generating dependancies
automatically in this thread.
This not a Make feature (probably because it's language dependant)
but a (pre)compiler feature. Look the doc for the -M option of gcc
precompiler (pass -MM to gcc), which outputs dependancies in a form you
can directly include in a Makefile.

Viel Spa
Martial

Robert Manktelow schrieb:
Quoted text here. Click to load it


Re: Make utility - views/opinions sought

Quoted text here. Click to load it

-M and -MM are cool, but -MMD is even better.  Use it to create a makefile
fragment with the dependencies for each file as you compile it, and
GNU make's conditional include to get them used:

    ifneq ($(wildcard *.d),)
    -include $(wildcard *.d)
    endif

(or play a similar trick by transforming the makefiles list of Sources
into one of .d files...)

Or, for small and simple projects, just have GCC make dependencies in
a separate run using the magic environment variable
DEPENDENCIES_OUTPUT:

depend:
        $(RM) deps
        $(MAKE) DEPENDENCIES_OUTPUT=deps clean all

-include deps

This requires an explicit "make depend" from time to time, though...
--
Hans-Bernhard Broeker ( snipped-for-privacy@physik.rwth-aachen.de)
Even if all the snow were burnt, ashes would remain.

Re: Make utility - views/opinions sought
On 25 Jul 2003 12:34:12 GMT, Hans-Bernhard Broeker

Quoted text here. Click to load it

FWIW, Paul D. Smith (who took over maintenance of GNU make from Roland
McGrath) describes "Advanced Auto-Dependency Generation" here:

http://make.paulandlesley.org/autodep.html

It uses a means similar to what you describe above, but addresses
issues like having to perform the explicit "make depend".

--
Dan Henry

Site Timeline