make-w32
[Top][All Lists]
Advanced

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

Support the MinGW build in build_w32.bat


From: Eli Zaretskii
Subject: Support the MinGW build in build_w32.bat
Date: Sat, 30 Jul 2005 19:09:38 +0300

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  <address@hidden>

        * 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
address@hidden "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"
address@hidden 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 @@
address@hidden "%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




reply via email to

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