Here are the patches necessary to add the minimal support for building
Make with MinGW (later, I might find time to produce a Makefile for
this port):
2005-07-30 Eli Zaretskii <[EMAIL PROTECTED]>
* README.W32: Update with info about the MinGW build.
* build_w32.bat: Support MinGW.
* w32/subproc/build.bat: Likewise.
--- README.W32.~0 2005-06-28 04:49:27.000000000 +0300
+++ README.W32 2005-07-30 19:05:28.755000000 +0300
@@ -1,11 +1,23 @@
Port of GNU make to Windows NT and Windows 95
Builds natively with MSVC 2.x or MSVC 4.x compilers.
Should also build fine with MSVC 5.x and 6.x (though not confirmed).
+Also builds with the MinGW port of GCC 3.x (tested with GCC 3.4.2).
-This Windows 32-bit port of GNU make is maintained primarily by Rob
-Tulloh, who is also the author of this README.
+This Windows 32-bit port of GNU make was made by Rob Tulloh, who is
+also the author of this README.
-To build with nmake on MS-Windows:
+To build with MinGW:
+
+ 1. Edit config.h.W32 to your liking (especially the few
+ shell-related defines near the end).
+
+ 2. Invoke build_w32.bat with the "gcc" argument:
+
+ build_w32 gcc
+
+ This produces gnumake.exe in the current directory.
+
+To build with nmake:
1. Make sure cl.exe is in your %Path%. Example:
--- build_w32.bat.~0 2004-02-24 17:50:20.000000000 +0200
+++ build_w32.bat 2005-07-30 17:06:21.880000000 +0300
@@ -1,14 +1,14 @@
-set make=gnumake
if not exist config.h copy config.h.W32 config.h
cd w32\subproc
-echo "Creating the subproc library"
-%ComSpec% /c build.bat
[EMAIL PROTECTED] "Creating the subproc library"
+%ComSpec% /c build.bat %1
cd ..\..
-del link.dbg link.rel
-del config.h
-copy config.h.W32 config.h
-echo off
-echo "Creating GNU make for Windows 95/NT"
[EMAIL PROTECTED] off
+if exist link.dbg del link.dbg
+if exist link.rel del link.rel
+echo "Creating GNU Make for Windows 9X/NT/2K/XP"
+if "%1" == "gcc" GoTo GCCBuild
+set make=gnumake
echo on
if not exist .\WinDebug\nul mkdir .\WinDebug
cl.exe /nologo /MT /W3 /GX /Zi /YX /Od /I . /I glob /I w32/include /D TIVOLI
/D _DEBUG /D WINDOWS32 /D WIN32 /D _CONSOLE /D HAVE_CONFIG_H /FR.\WinDebug/
/Fp.\WinDebug/%make%.pch /Fo.\WinDebug/ /Fd.\WinDebug/%make%.pdb /c variable.c
@@ -139,4 +139,37 @@
link.exe /NOLOGO /SUBSYSTEM:console /INCREMENTAL:no /PDB:.\WinRel/%make%.pdb
/MACHINE:I386 /OUT:.\WinRel/%make%.exe @link.rel
if not exist .\WinRel/%make%.exe echo "WinRel build failed"
if exist .\WinRel/%make%.exe echo "WinRel build succeeded!"
+set make=
+GoTo BuildEnd
+:GCCBuild
+echo on
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c variable.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c rule.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c remote-stub.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c commands.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c file.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c getloadavg.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c default.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c signame.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c expand.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c dir.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c main.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c getopt1.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c job.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c read.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c version.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c getopt.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c arscan.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c remake.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c hash.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c misc.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c ar.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c function.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c vpath.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c implicit.c
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c ./glob/glob.c -o glob.o
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c ./glob/fnmatch.c -o fnmatch.o
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I. -I./glob -I./w32/include
-DWINDOWS32 -DHAVE_CONFIG_H -c ./w32/pathstuff.c -o pathstuff.o
+gcc -mthreads -gstabs+ -ggdb3 -o gnumake.exe variable.o rule.o remote-stub.o
commands.o file.o getloadavg.o default.o signame.o expand.o dir.o main.o
getopt1.o job.o read.o version.o getopt.o arscan.o remake.o misc.o hash.o ar.o
function.o vpath.o implicit.o glob.o fnmatch.o pathstuff.o w32_misc.o
sub_proc.o w32err.o -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32
-ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lodbc32 -lodbccp32
+:BuildEnd
echo on
--- w32/subproc/build.bat.~0 1998-07-31 03:00:14.000000000 +0300
+++ w32/subproc/build.bat 2005-07-30 17:04:00.895625000 +0300
@@ -1,3 +1,4 @@
[EMAIL PROTECTED] "%1" == "gcc" GoTo GCCBuild
if not exist .\WinDebug\nul mkdir .\WinDebug
cl.exe /nologo /MT /W3 /GX /Z7 /YX /Od /I .. /I . /I ../include /D WIN32 /D
WINDOWS32 /D _DEBUG /D _WINDOWS /FR.\WinDebug/ /Fp.\WinDebug/subproc.pch
/Fo.\WinDebug/ /c misc.c
cl.exe /nologo /MT /W3 /GX /Z7 /YX /Od /I .. /I . /I ../include /I ../.. /D
WIN32 /D WINDOWS32 /D _DEBUG /D _WINDOWS /FR.\WinDebug/
/Fp.\WinDebug/subproc.pch /Fo.\WinDebug/ /c sub_proc.c
@@ -8,3 +9,9 @@
cl.exe /nologo /MT /W3 /GX /YX /O2 /I ../include /I ../.. /D WIN32 /D
WINDOWS32 /D NDEBUG /D _WINDOWS /FR.\WinRel/ /Fp.\WinRel/subproc.pch
/Fo.\WinRel/ /c sub_proc.c
cl.exe /nologo /MT /W3 /GX /YX /O2 /I ../include /D WIN32 /D WINDOWS32 /D
NDEBUG /D _WINDOWS /FR.\WinRel/ /Fp.\WinRel/subproc.pch /Fo.\WinRel/ /c w32err.c
lib.exe /NOLOGO /OUT:.\WinRel\subproc.lib .\WinRel/misc.obj
.\WinRel/sub_proc.obj .\WinRel/w32err.obj
+GoTo BuildEnd
+:GCCBuild
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I.. -I. -I../include -I../..
-DWINDOWS32 -c misc.c -o ../../w32_misc.o
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I.. -I. -I../include -I../..
-DWINDOWS32 -c sub_proc.c -o ../../sub_proc.o
+gcc -mthreads -Wall -gstabs+ -ggdb3 -O2 -I.. -I. -I../include -I../..
-DWINDOWS32 -c w32err.c -o ../../w32err.o
+:BuildEnd
_______________________________________________
Make-w32 mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/make-w32