| ============================ WARNING! ===================================== | |
| == == | |
| == This is *not* mainstream Automake, but rather "Automake-NG": an == | |
| == experimental, non-hostile fork of it. Automake-NG mostly differs == | |
| == from mainstream Automake in that its generated makefiles only == | |
| == target GNU make rather than portable make. == | |
| == == | |
| =========================================================================== | |
| Reference to the thread kicking off this project: | |
| "Could automake-generated Makefiles required GNU make?" | |
| <http://lists.gnu.org/archive/html/automake/2011-11/msg00017.html> | |
| with partial consensus reached here: | |
| <http://lists.gnu.org/archive/html/automake/2011-11/msg00088.htm> | |
| The discussion continued also in a thread on the gnu-prog-discuss list, | |
| which unfortunately is a private list dedicated to GNU maintainers, and | |
| thus for which no public archive is available. The title of the thread | |
| was "Automire: a non-hostile forking of GNU automake", and it was started | |
| by me (Stefano Lattarini) on 2011-12-01. | |
| -*-*- | |
| The name "Automake-NG" for this automake variant has two reasons, which | |
| are motivated by two apparently incompatible (but in fact only orthogonal) | |
| concerns: | |
| 1. Paolo Bonzini pointed out that a backward-incompatible (even if only | |
| partly so) "Automake 2" might propagate the past bad reputation of | |
| the autotools w.r.t. backward-incompatibility. So the new project | |
| should be a fork of automake, with a name of its own. I proposed | |
| "Automire" as the name, to give credit to the Quagmire attempt, | |
| while retaining the `am' namespace. But then ... | |
| 2. Stefan Monnier noted (on the non-public gnu-prog-discuss list): | |
| ``From where I stand, if you want the product to be successful, | |
| you'll want its heritage to be very clear from the name. To me | |
| "automire" doesn't remind of "automake" at all. To someone aware | |
| of Quagmire, it may sound like "automatically mired in Quagmire's | |
| problems". I understand that if Automake is still live on, yours | |
| can't just be "Automake 3.0", but it can be "automake-ng"'' | |
| to which I (Stefano Lattarini) replied: | |
| ``You might be right about this, especially considering that the new | |
| project is planned to have two phases, in the first one of which it | |
| will remain very similar to automake in APIs and features (and, | |
| sadly, limitations). And `automake-ng' sounds like a good name | |
| -- "ng" as in "New Generation", or more modestly, as in "Needs | |
| GNUmake" ;-)'' | |
| -*-*- | |
| From a private discussion with Karl Berry (slightly edited, and private as | |
| in "it hasn't taken place on any list, neither public nor non-public"): | |
| Karl Berry wrote: | |
| > Regardless of how it is developed (multiple git repos or whatever, | |
| > that's a completely independent question), I continue to believe that | |
| > the best outcome would be an "automake-2" that targets GNU make and is | |
| > "mostly" compatible, for whatever definition of "mostly" makes sense. | |
| > | |
| OK ... [SNIP] ... I mostly agree with you about this (but for the name | |
| of the project, that is), at least as a first step. Let me state my | |
| plan in more precise terms (and sorry for not having done it before): | |
| 1. First, we start refactoring the automake codebase to transform | |
| it into "Automake-NG": a mostly Automake-compatible software, with | |
| only marginal or minor changes in APIs, that shares a lot of code | |
| and design with Automake, but whose generated Makefiles require GNU | |
| make. See also point [3] at: | |
| <http://lists.gnu.org/archive/html/automake/2011-01/msg00077.html> | |
| Automake-NG will, where feasible, take advantage of GNU make features | |
| to simplify its internals and implementation, but this will hardly | |
| offer a better user experience for Makefile.am writers. See also | |
| sensible Ralf's observations at: | |
| <http://lists.gnu.org/archive/html/automake/2011-01/msg00053.html> | |
| 2. If Automake-NG has been successful, we might proceed to develop | |
| "Automire": a more aggressive rewrite, with profound APIs, design | |
| and code changes, in the hope of making automire easier to use and | |
| to extend (lack of extensibility on part of the user is probably | |
| one of the greatest shortcoming of the current automake). | |
| And even if we fail to finally develop Automire, I believe that | |
| Automake-NG will still be by itself a worth and useful step forward. | |
| > Presumably it will have plenty of user-level benefits, too, and not | |
| > just a cleaner implementation. | |
| =========================================================================== | |
| This is Automake-NG, a Makefile generator. It targets GNU make, and aims | |
| to conform to the GNU Coding Standards for Makefile variables and targets. | |
| See the INSTALL file for detailed information about how to configure | |
| and install Automake-NG. | |
| Automake-NG is a Perl script. The input files are called Makefile.am. | |
| The output files are called Makefile.in; they are intended for use | |
| with Autoconf. Automake-NG requires certain things to be done in your | |
| configure.ac. | |
| Automake-NG comes with extensive documentation; please refer to it for | |
| more details about its purpose, features, and usage patterns. | |
| This package also includes the "aclocal" program, whose purpose is | |
| to generate an 'aclocal.m4' based on the contents of 'configure.ac'. | |
| It is useful as an extensible, maintainable mechanism for augmenting | |
| autoconf. It is intended that other package authors will write m4 | |
| macros which can be automatically used by aclocal. The documentation | |
| for aclocal is currently found in the Automake-NG manual. | |
| Automake-NG has a test suite. Use "make check" to run it. For more | |
| information, see the file t/README. | |
| Automake-NG still doesn't have a page on the web. But it has one | |
| mailing list, <automake-ng@gnu.org>, that can be used for general | |
| discussions and to send bug reports, feature requests, and patches. | |
| To obtain more information about this list, or to subscribe to it, | |
| refer to <http://lists.gnu.org/mailman/listinfo/automake-ng/> | |
| New releases are announced to autotools-announce@gnu.org. If you want to | |
| be informed, subscribe to that list by following the instructions at | |
| <http://lists.gnu.org/mailman/listinfo/autotools-announce>. | |
| For any copyright year range specified as YYYY-ZZZZ in this package, | |
| that the range specifies every single year in that closed interval. | |
| ----- | |
| Copyright (C) 1994-2012 Free Software Foundation, Inc. | |
| This program is free software; you can redistribute it and/or modify | |
| it under the terms of the GNU General Public License as published by | |
| the Free Software Foundation; either version 2, or (at your option) | |
| any later version. | |
| This program is distributed in the hope that it will be useful, | |
| but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| GNU General Public License for more details. | |
| You should have received a copy of the GNU General Public License | |
| along with this program. If not, see <http://www.gnu.org/licenses/>. |