1 Port of GNU make to Windows NT and Windows 95
2 Builds natively with MSVC 2.x or MSVC 4.x compilers.
4 To build with nmake on Windows NT or Windows 95:
6 1. Make sure cl.exe is in your %Path%. Example:
8 set Path=%Path%;c:/msdev/bin
10 2. Make sure %include% is set to msvc include directory. Example:
12 set include=c:/msdev/include
14 3. Make sure %lib% is set to msvc lib directory. Example:
21 There is a bat file (build_w32.bat) for folks who have fear of nmake.
33 This port prefers you have a working sh.exe somewhere on your
34 system. If you don't have sh.exe, port falls back to
35 MSDOS mode for launching programs (via a batch file).
36 The MSDOS mode style execution has not been tested too
37 carefully though (I use GNU bash as sh.exe).
39 There are very few true ports of Bourne shell for NT right now.
40 There is a version of GNU bash available from Cygnus gnu-win32
41 porting effort. Other possibilites are to get the MKS version
42 of sh.exe or to build your own with a package like
43 NutCracker (DataFocus) or Portage (Consensys).
45 Tivoli uses a homegrown port of GNU bash which is not (yet)
46 freely available. It may be available someday, but I am not in control
47 of this decision nor do I influence it. Sorry!
51 I verified all functionality with a slightly modified version
52 of make-test-0.4.5 (modifications to get test suite to run
53 on Windows NT). All tests pass in an environment that includes
54 sh.exe. Tested on both Windows NT and Windows 95.
56 Building GNU make on Windows NT and Windows 95 with Microsoft Visual C
58 I did not provide a Visual C project file with this port as
59 the project file would not be considered freely distributable
60 (or so I think). It is easy enough to create one though if
61 you know how to use Visual C.
63 I build the program statically to avoid problems locating DLL's
64 on machines that may not have MSVC runtime installed. If you
65 prefer, you can change make to build with shared libraries by
66 changing /MT to /MD in the NMakefile (or build_w32.bat).
68 Program has not been built under non-Intel architectures (yet).
70 I have not tried to build with any other compilers than MSVC.
72 Pathnames and white space:
74 Unlike Unix, WIN32 systems encourage pathnames which
75 contain white space (e.g. C:\Program Files\). These sorts of pathnames
76 are legal under Unix too, but are never encouraged. There is
77 at least one place in make (VPATH/vpath handling) where paths
78 containing white space will simply not work. There may be others
79 too. I chose to not try and port make in such a way so that
80 these sorts of paths could be handled. I offer these suggestions
84 2. Rename the directory so it does not contain white space.
86 If you are unhappy with this choice, this is free software
87 and you are free to take a crack at making this work. The code
88 in w32/pathstuff.c and vpath.c would be the places to start.
92 I have not had any success building the debug version of this
93 package using SAMBA as my file server. The reason seems to be
94 related to the way VC++ 4.0 changes the case name of the pdb
95 filename it is passed on the command line. It seems to change
96 the name always to to lower case. I contend that
97 the VC++ compiler should not change the casename of files that
98 are passed as arguments on the command line. I don't think this
99 was a problem in MSVC 2.x, but I know it is a problem in MSVC 4.x.
101 The package builds fine on VFAT and NTFS filesystems.
103 Most all of the development I have done to date has been using
104 NTFS and long file names. I have not done any considerable work
105 under VFAT. VFAT users may wish to be aware that this port
106 of make does respect case sensitivity.
110 Please submit bugs via the normal bug reporting mechanism
111 which is described in one of the texinfo files. If you don't
112 have texinfo for Windows NT or Windows 95, these files are simple
113 text files and can be read with a text editor.