Changeset 503 for trunk/src/gmake/README.W32
- Timestamp:
- Sep 15, 2006, 7:09:38 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/gmake/README.W32
r151 r503 1 Port of GNU make to Windows NT and Windows 95 2 Builds natively with MSVC 2.x or MSVC 4.x compilers. 3 Should also build fine with MSVC 5.x and 6.x (though not confirmed). 4 5 This Windows 32-bit port of GNU make is maintained primarily by Rob 6 Tulloh, who is also the author of this README. 7 8 To build with nmake on Windows NT, Windows 95, or Windows 98: 9 10 1. Make sure cl.exe is in your %Path%. Example: 11 12 set Path=%Path%;c:/msdev/bin 13 14 2. Make sure %include% is set to msvc include directory. Example: 15 16 set include=c:/msdev/include 17 18 3. Make sure %lib% is set to msvc lib directory. Example: 19 20 set lib=c:/msdev/lib 21 22 4. nmake /f NMakefile 23 24 25 A short cut to steps 1, 2, and 3 is to run VCVARS32.bat before 26 invoking namke. For example: 27 28 c: 29 cd \msdev\bin 30 VCVARS32.bat 31 cd \path\to\make-3.81beta1 1 This version of GNU make has been tested on Microsoft Windows 2000/XP/2003. 2 It has also been used on Windows 95/98/NT, and on OS/2. 3 4 It builds natively with MSVC 2.x, 4.x, 5.x, 6.x, and 2003 as well as 5 .NET 7.x and .NET 2003. 6 7 It builds with the MinGW port of GCC 3.x (tested with GCC 3.4.2). 8 9 The Windows 32-bit port of GNU make is maintained jointly by various 10 people. It was originally made by Rob Tulloh. 11 12 13 Do this first, regardless of the build method you choose: 14 --------------------------------------------------------- 15 16 1. At the Windows command prompt run: 17 18 if not exist NMakefile copy NMakefile.template NMakefile 19 if not exist config.h copy config.h.W32 config.h 20 21 Then edit config.h to your liking (especially the few shell-related 22 defines near the end, or HAVE_CASE_INSENSITIVE_FS which corresponds 23 to './configure --enable-case-insensitive-file-system'). 24 25 26 Using make_msvc_net2003.vcproj 27 ------------------------------ 28 29 2. Open make_msvc_net2003.vcproj in MSVS71 or MSVC71 or any compatible IDE, 30 then build this project as usual. 31 32 33 Building with (MinGW-)GCC using build_w32.bat 34 --------------------------------------------- 35 36 2. Open a W32 command prompt for your installed (MinGW-)GCC, setup a 37 correct PATH and other environment variables for it, then execute ... 38 39 build_w32.bat gcc 40 41 This produces gnumake.exe in the current directory. 42 43 44 Building with (MSVC++-)cl using build_w32.bat or NMakefile 45 ---------------------------------------------------------- 46 47 2. Open a W32 command prompt for your installed (MSVC++-)cl, setup a 48 correct PATH and other environment variables for it (usually via 49 executing vcvars32.bat or vsvars32.bat from the cl-installation, 50 e.g. "%VS71COMNTOOLS%vsvars32.bat"; or using a corresponding start 51 menue entry from the cl-installation), then execute EITHER ... 52 53 build_w32.bat 54 55 (this produces WinDebug/gnumake.exe and WinRel/gnumake.exe) 56 57 ... OR ... 58 32 59 nmake /f NMakefile 33 60 34 There is a bat file (build_w32.bat) for folks who have fear of nmake. 35 36 Outputs: 37 38 WinDebug/make.exe 39 WinRel/make.exe 40 41 61 (this produces WinDebug/make.exe and WinRel/make.exe). 62 63 64 ------------------- 42 65 -- Notes/Caveats -- 66 ------------------- 43 67 44 68 GNU make on Windows 32-bit platforms: … … 64 88 There are very few true ports of Bourne shell for NT right now. 65 89 There is a version of GNU bash available from Cygnus "Cygwin" 66 porting effort (http:// sourceware.cygnus.com/cygwin).90 porting effort (http://www.cygwin.com/). 67 91 Other possibilities are the MKS version of sh.exe, or building 68 92 your own with a package like NutCracker (DataFocus) or Portage 69 (Consensys). 93 (Consensys). Also MinGW includes sh (http://mingw.org/). 70 94 71 95 GNU make and brain-dead shells (BATCH_MODE_ONLY_SHELL): … … 132 156 specification of paths. Make is able to figure out the intended 133 157 result and convert the paths internally to the format needed 134 when interacting with the operating system. 158 when interacting with the operating system, providing the path 159 is not within quotes, e.g. "x:/test/test.c". 135 160 136 161 You are encouraged to use colon as the separator character. … … 143 168 144 169 I verified all functionality with a slightly modified version 145 of make-test-3.81 beta1(modifications to get test suite to run170 of make-test-3.81 (modifications to get test suite to run 146 171 on Windows NT). All tests pass in an environment that includes 147 172 sh.exe. Tests were performed on both Windows NT and Windows 95. … … 168 193 169 194 Unlike Unix, Windows 95/NT systems encourage pathnames which 170 contain white space (e.g. C:\Program Files\). These sorts of pathnames 171 are legal under Unix too, but are never encouraged. There is 172 at least one place in make (VPATH/vpath handling) where paths 173 containing white space will simply not work. There may be others 174 too. I chose to not try and port make in such a way so that 175 these sorts of paths could be handled. I offer these suggestions 176 as workarounds: 177 178 1. Use 8.3 notation 195 contain white space (e.g. C:\Program Files\). These sorts of 196 pathnames are legal under Unix too, but are never encouraged. 197 There is at least one place in make (VPATH/vpath handling) where 198 paths containing white space will simply not work. There may be 199 others too. I chose to not try and port make in such a way so 200 that these sorts of paths could be handled. I offer these 201 suggestions as workarounds: 202 203 1. Use 8.3 notation. i.e. "x:/long~1/", which is actually 204 "x:\longpathtest". Type "dir /x" to view these filenames 205 within the cmd.exe shell. 179 206 2. Rename the directory so it does not contain white space. 180 207 … … 221 248 related to the way VC++ 4.0 changes the case name of the pdb 222 249 filename it is passed on the command line. It seems to change 223 the name always to to lower case. I contend that 224 the VC++ compiler should not change the casename of files that225 a re passed as arguments on the command line. I don't think this226 was aproblem in MSVC 2.x, but I know it is a problem in MSVC 4.x.250 the name always to to lower case. I contend that the VC++ 251 compiler should not change the casename of files that are passed 252 as arguments on the command line. I don't think this was a 253 problem in MSVC 2.x, but I know it is a problem in MSVC 4.x. 227 254 228 255 The package builds fine on VFAT and NTFS filesystems. … … 230 257 Most all of the development I have done to date has been using 231 258 NTFS and long file names. I have not done any considerable work 232 under VFAT. VFAT users may wish to be aware that this port 233 ofmake does respect case sensitivity.259 under VFAT. VFAT users may wish to be aware that this port of 260 make does respect case sensitivity. 234 261 235 262 FAT: 236 263 237 Version 3.76 added support for FAT filesystems. Make 238 works around some difficulties with stat'ing of239 file s and caching of filenames and directories internally.264 Version 3.76 added support for FAT filesystems. Make works 265 around some difficulties with stat'ing of files and caching of 266 filenames and directories internally. 240 267 241 268 Bug reports: … … 243 270 Please submit bugs via the normal bug reporting mechanism which 244 271 is described in the GNU make manual and the base README. 272 273 274 ------------------------------------------------------------------------------- 275 Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 276 2006 Free Software Foundation, Inc. 277 This file is part of GNU Make. 278 279 GNU Make is free software; you can redistribute it and/or modify it under the 280 terms of the GNU General Public License as published by the Free Software 281 Foundation; either version 2, or (at your option) any later version. 282 283 GNU Make is distributed in the hope that it will be useful, but WITHOUT ANY 284 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 285 A PARTICULAR PURPOSE. See the GNU General Public License for more details. 286 287 You should have received a copy of the GNU General Public License along with 288 GNU Make; see the file COPYING. If not, write to the Free Software 289 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
Note:
See TracChangeset
for help on using the changeset viewer.