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

Reply via email to