help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to capture a set of recurring rules?


From: Paul Smith
Subject: Re: How to capture a set of recurring rules?
Date: Fri, 05 Feb 2010 00:27:26 -0500

On Thu, 2010-02-04 at 22:54 -0600, Peng Yu wrote:
> I think that GNU make should take a similar philosophy rather than
> worrying too much about backward compatibility.

There hundreds of thousands, even millions, of makefiles in the world.
I'm definitely not going to do things in GNU make that breaks even a
significant minority of them.  GNU make has a design goal of being 100%
compatible with the POSIX standard for the "make" program, and that's
not going to change.  GNU make has a critical place in the GNU software
toolchain, and its primary goal is to maintain that place and provide
that functionality.

There are lots of enhancements that can possibly be made that don't
break compatibility, of course, and these should be considered,
definitely.

> I have no idea how 'ant', 'scons' or 'cmake' are different between
> themselves and from GNU Make. What "embedded" language you referred to
> in these cases? Can they be used in the case wherever GNU Make is
> appropriate?

I think you can find this information for yourself using Google etc.
much more easily than we can write about it here.  Suffice to say there
are many people who have become disenchanted with the limitations in
"make", and have created their own build control utilities.  Often these
are written in other languages such as Python or Perl etc., and when
they are there's invariably a way to "escape out" and write embedded
sections of the source language into the build control files.

These tools do not use the same makefile syntax as GNU make so you'd
need to port your existing build infrastructure to use them (it's
possible some come with makefile converters; I don't know).

The makefile syntax was never intended to be Turing complete: it's not
designed to be a programming language.  It's a specialized language to
describe build dependencies, that's it.  If that's not what you're
looking for, then as Philip points out there are lots of other tools
with different goals and design philosophies and you might be happier
with those.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <address@hidden>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.mad-scientist.net
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist





reply via email to

[Prev in Thread] Current Thread [Next in Thread]