]> granicus.if.org Git - nethack/commitdiff
(from <Someone>)
authornethack.allison <nethack.allison>
Thu, 7 Mar 2002 13:01:17 +0000 (13:01 +0000)
committernethack.allison <nethack.allison>
Thu, 7 Mar 2002 13:01:17 +0000 (13:01 +0000)
Here's the gcc makefile. I also cleaned up the batch file a
little and added instructions to install.nt.

I copied most of the items from the existing Makefiles,
including the 32x32 tile support, even though that is not
available. This way comparing the makefiles is easiest :-)

sys/winnt/Install.nt
sys/winnt/nhsetup.bat

index aa6925fbc0600ac1a7a6306b7014006a1e87e84a..c193450180ffe8e81c423e02fa4932fbd52eac9a 100644 (file)
@@ -25,7 +25,7 @@ continue to contribute to the win32 port, and that invitation was accepted.
 
 
 You can build either the TTY version of NetHack or the Windows Graphical 
-version.  In either case you will need one of the following build 
+version.  In either case you can use one of the following build
 environments:
 
   o A copy of Microsoft Visual C V6.0 SP3 or later.  Things may work with 
@@ -39,6 +39,15 @@ environments:
     registration at:
     http://www.borland.com/bcppbuilder/freecompiler/.
 
+Additionally, you can build a TTY version of NetHack with the following
+build environment:
+
+  o A copy of MinGW 1.0. MinGW is a collection of header files and import
+    libraries with which native Windows32 programs can be made; MinGW 1.0
+    ships with the GNU Compiler Collection.
+    You can download MinGW at
+    http://www.mingw.org/
+
 
 FIRST STEP:
 
@@ -80,6 +89,7 @@ I.  Dispelling the Myths:
 
         o Microsoft Visual C++ V6.0 SP3 or greater
         o Borland C 5.5.1
+        o MinGW 1.0 with GCC 2.95.3-6
 
     The Microsoft Visual C Makefile was created for use with MS NMAKE 
     which is provided with the Microsoft compiler. The supplied Makefile
@@ -89,6 +99,9 @@ I.  Dispelling the Myths:
     The Borland C Makefile was created for use with Borland MAKE 
     which is provided with the Borland compiler.
 
+    The GCC Makefile was created for use with GNU Make version 3.79.1,
+    which comes with the MinGW package.
+
     You may find it useful to obtain copies of lex (flex) and yacc (bison,
     or byacc).  While not strictly necessary to compile nethack, they are 
     required should you desire to make any changes to the level and dungeon 
@@ -104,12 +117,14 @@ Setting Up
 1.  It almost goes without saying that you should make sure that your tools
     are set up and running correctly.  That includes ensuring that all the
     necessary environment variables for the compiler environment
-    are set correctly.  ( Examples: For the Microsoft compiler by 
+    are set correctly.  (Examples: For the Microsoft compiler by
     executing vcvars32.bat, which is probably in the bin directory of 
     your compilers directory tree. For the Borland Makefile, you can 
     simply invoke the Make utility from the Makefile's directory (For 
     the standard Borland compiler installation you can just 
-    use the explicit path "c:\borland\bcc55\bin\make /f Makefile.bcc")
+    use the explicit path "c:\borland\bcc55\bin\make /f Makefile.bcc".
+    For the GCC Makefile, add <mingw>\bin to your path, where <mingw> is
+    your MinGW root directory.)
 
 2.  Make sure all the NetHack files are in the appropriate directory
     structure.  You should have a main directory with subdirectories
@@ -183,7 +198,10 @@ Compiling
     For Borland compiler:
         make /f Makefile.bcc install
 
-    If you get any errors along the way  then something has not been set 
+    For GCC:
+        make -f Makefile.gcc install
+
+    If you get any errors along the way then something has not been set
     up correctly. The time it takes to compile depends on your particular 
     machine of course, but you should be able to go for lunch and return 
     to find everything finished.  The less memory, and slower your machine, 
@@ -239,10 +257,13 @@ Notes:
     For Borland compiler:
         make /f Makefile.bcc
 
-    If you add, delete, or reorder monsters or
-    objects, or you change the format of saved level files, delete any save
-    and bones files.  (Trying to use such files sometimes produces amusing
-    confusions on the game's part, but usually crashes.)
+    For GCC:
+        make -f Makefile.gcc
+
+    If you add, delete, or reorder monsters or objects, or you change the
+    format of saved level files, delete any save and bones files.  (Trying
+    to use such files sometimes produces amusing confusions on the game's
+    part, but usually crashes.)
 
     If you made changes to any of the level compiler software, you may have
     to delete dgn_flex.c, dgn_yacc.c, lev_flex.c, and lev_yacc.c from the
index 19c4a569f150dbe8a25e9426b9bf6697a6ba013d..55c82fd4ef7400ddb8a319e028c9e172b71df70b 100755 (executable)
@@ -1,54 +1,67 @@
-@REM  SCCS Id: @(#)nhsetup.bat      2002/03/06
+@REM  SCCS Id: @(#)nhsetup.bat      2002/03/07
 @REM  Copyright (c) NetHack PC Development Team 1993, 1996, 2002
 @REM  NetHack may be freely redistributed.  See license for details. 
 @REM  Win32 setup batch file, see Install.nt for details
 @REM
 @echo off
 
-set _opt=
-set _donebor=
 set _pause=
 
 :nxtcheck
 echo Checking to see if directories are set up properly
-if not exist ..\..\include\hack.h goto err_dir
-if not exist ..\..\src\hack.c goto err_dir
-if not exist ..\..\dat\wizard.des goto err_dir
-if not exist ..\..\util\makedefs.c goto err_dir
-if not exist ..\..\sys\winnt\winnt.c goto err_dir
+if not exist ..\..\include\hack.h goto :err_dir
+if not exist ..\..\src\hack.c goto :err_dir
+if not exist ..\..\dat\wizard.des goto :err_dir
+if not exist ..\..\util\makedefs.c goto :err_dir
+if not exist ..\..\sys\winnt\winnt.c goto :err_dir
 echo Directories look ok.
 
 :do_tty
-set _opt=NetHack for NT Console
 if NOT exist ..\..\binary\*.* mkdir ..\..\binary
 if NOT exist ..\..\binary\license copy ..\..\dat\license ..\..\binary\license >nul
 echo Copying Microsoft Makefile - Makefile.msc to ..\..\src\Makefile.
+if NOT exist ..\..\src\Makefile goto :domsc
+copy ..\..\src\Makefile ..\..\src\Makefile-orig >nul
+echo      Your existing
+echo           ..\..\src\Makefile
+echo      has been renamed to
+echo           ..\..\src\Makefile-orig
+:domsc
 copy Makefile.msc ..\..\src\Makefile >nul
 echo Microsoft Makefile copied ok.
+
 echo Copying Borland Makefile - Makefile.bcc to ..\..\src\Makefile.bcc
-if NOT exist ..\..\src\Makefile.bcc goto dobor
+if NOT exist ..\..\src\Makefile.bcc goto :dobor
 copy ..\..\src\Makefile.bcc ..\..\src\Makefile.bcc-orig >nul
 echo      Your existing 
 echo           ..\..\src\Makefile.bcc 
 echo      has been renamed to 
 echo           ..\..\src\Makefile.bcc-orig
-echo Borland Makefile copied ok.
 :dobor
 copy Makefile.bcc ..\..\src\Makefile.bcc >nul
-set _donebor=Y
+echo Borland Makefile copied ok.
+
+echo Copying MinGW Makefile - Makefile.gcc to ..\..\src\Makefile.gcc
+if NOT exist ..\..\src\Makefile.gcc goto :dogcc
+copy ..\..\src\Makefile.gcc ..\..\src\Makefile.gcc-orig >nul
+echo      Your existing
+echo           ..\..\src\Makefile.gcc
+echo      has been renamed to
+echo           ..\..\src\Makefile.gcc-orig
+:dogcc
+copy Makefile.gcc ..\..\src\Makefile.gcc >nul
+echo MinGW Makefile copied ok.
 
 :do_win
-set _opt=Graphical NetHack for Windows
-if not exist ..\..\win\win32\nethack.dsw goto err_win
+if not exist ..\..\win\win32\nethack.dsw goto :err_win
 echo.
 echo Copying Visual C project files to ..\..\build directory
-REM copy ..\..\win\win32\winnt.dsw ..\.. >nul
 echo Copying ..\..\win\win32\nethack.dsw  ..\..\nethack.dsw
 copy ..\..\win\win32\nethack.dsw  ..\.. >nul
 if NOT exist ..\..\binary\*.* echo Creating ..\..\binary directory
 if NOT exist ..\..\binary\*.* mkdir ..\..\binary
 if NOT exist ..\..\binary\license copy ..\..\dat\license ..\..\binary\license >nul
-if NOT exist ..\..\build\*.* echo Creating ..\..\binary directory
+if NOT exist ..\..\build\*.* echo Creating ..\..\build directory
 if NOT exist ..\..\build\*.* mkdir ..\..\build
 copy ..\..\win\win32\dgncomp.dsp   ..\..\build >nul
 copy ..\..\win\win32\dgnstuff.dsp  ..\..\build >nul
@@ -65,35 +78,26 @@ copy ..\..\win\win32\tiles.mak     ..\..\build >nul
 copy ..\..\win\win32\tilemap.dsp   ..\..\build >nul
 copy ..\..\win\win32\uudecode.dsp   ..\..\build >nul
 copy ..\..\win\win32\nethackw.dsp   ..\..\build >nul
-if "%_donebor%"=="Y" goto done
-if NOT exist ..\..\src\Makefile.bcc goto dobor
-copy ..\..\src\Makefile.bcc ..\..\src\Makefile.bcc-orig >nul
-echo      Your existing 
-echo           ..\..\src\Makefile.bcc 
-echo      has been renamed to 
-echo           ..\..\src\Makefile.bcc-orig
-:dobor
-copy Makefile.bcc ..\..\src\Makefile.bcc >nul
 
-goto done
+goto :done
 
 :err_win
 echo Some of the files needed to build graphical NetHack
 echo for Windows are not in the expected places.
 echo Check "Install.nt" for a list of the steps required 
 echo to build NetHack.
-goto fini
+goto :fini
 
 :err_data
 echo A required file ..\..\dat\data.bas seems to be missing.
 echo Check "Files." in the root directory for your NetHack distribution
 echo and make sure that all required files exist.
-goto fini
+goto :fini
 
 :err_dir
 echo Your directories are not set up properly, please re-read the
 echo documentation and sys/winnt/Install.nt.
-goto fini
+goto :fini
 
 :done
 echo done!
@@ -103,8 +107,6 @@ echo.
 
 :fini
 :end
-set _opt=
-set _donebor=
 set _pause=Y
 if "%0"=="nhsetup" set _pause=N
 if "%0"=="NHSETUP" set _pause=N