From 2ca54bdc0db8aecdbeb75ab76a27cc84958bab79 Mon Sep 17 00:00:00 2001 From: "nethack.allison" Date: Thu, 7 Mar 2002 13:01:17 +0000 Subject: [PATCH] (from ) 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 | 37 +++++++++++++++++++------ sys/winnt/nhsetup.bat | 64 ++++++++++++++++++++++--------------------- 2 files changed, 62 insertions(+), 39 deletions(-) diff --git a/sys/winnt/Install.nt b/sys/winnt/Install.nt index aa6925fbc..c19345018 100644 --- a/sys/winnt/Install.nt +++ b/sys/winnt/Install.nt @@ -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 \bin to your path, where 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 diff --git a/sys/winnt/nhsetup.bat b/sys/winnt/nhsetup.bat index 19c4a569f..55c82fd4e 100755 --- a/sys/winnt/nhsetup.bat +++ b/sys/winnt/nhsetup.bat @@ -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