> From: Paul Smith <psmith@gnu....>
> Date: Sun, 15 Jan 2012 17:53:25 -0500
> Reply-To: psmith@gnu.... >
> Going through the content of GNU make sources recently it occurs to me
> we have a LOT of ways to build GNU make. Maybe at one time or another
> all these different ways were necessary but I wonder if they still are.
> Can't we reduce them somewhat?
> For ways to build GNU make we have:
> 1. Standard configure/Makefile.am
> 2. build.sh
> 3. Makefile.DOS
> 4. NMakefile
> 5. SMakefile
> 6. build_w32.bat
> 7. Makefile.ami
> 8. makefile.vms
> 9. makefile.com
> 10. dosbuild.bat
> 11. make_msvc_net2001.vcproj
> I understand that for many of these we may need them: ways to build VMS
> vs. Amiga vs. DOS may not be portable.
> But do we really need both dosbuild.bat AND build_w32.bat?
They are for 2 different ports: dosbuild.bat for the MS-DOS
(a.k.a. DJGPP) port, build_w32.bat for the MS-Windows port.
If what you mean is collapse them into a single batch file, then it
could be possible, but is it worth the hassle? They are typically
maintained by different people.
> Do we really need NMakefile AND SMakefile AND Makefile.DOS?
NMakefile is for building the MS-Windows port with nmake, the
Microsoft's make program. Given that build_w32.bat exists, we could
remove it (and the same goes for the make_msvc_* files). Makefile.DOS
in conjunction with configure.bat and configh.dos are for building the
MS-DOS port when there's already a previous version of Make; see
SMakefile is for something called `smake' which seems to be from some
old Posix platform, so I don't know anything about it.
> The contents of these files don't seem so different to me that they
> couldn't be consolidated, perhaps with some command-line overrides
> or similar. Or, maybe some of them are just not needed; do we
> really have to be able to build with nmake and smake?
How about moving them to a subdirectory, where they could bit-rot out
> Looking at it another way, for the non-configure-based systems isn't a
> batch file enough, just to get GNU make built the first time, then you
> can use GNU make itself to build afterwards?
Once you build Make with the batch file, how do you rebuild it, if you
cannot run the configure script? You need a Makefile, don't you?
Makefile.DOS is such a Makefile for DOS; the MS-Windows port doesn't
have such a Makefile suitable for GNU Make, so one keeps running
build_w32.bat to rebuild.
> Just wondering if we can't do a bit of cleanup here...
Maybe moving most of them (everything except the build* batch files)
out of sight is good enough?