Files
nethack/sys/windows/vs/package/package.nmake
2025-11-18 13:44:55 -05:00

137 lines
5.0 KiB
Plaintext

# NetHack 3.7 package.nmake
#==============================================================================
#
# The version of the game this Makefile was designed for
!IFNDEF NETHACK_VERSION
NETHACK_VERSION="3.7.0"
!MESSAGE NETHACK_VERSION set to $(NETHACK_VERSION).
!ELSE
!MESSAGE NETHACK_VERSION set to $(NETHACK_VERSION) by caller.
!ENDIF
# A brief variation for use in macros
NHV=$(NETHACK_VERSION:.=)
NHV=$(NHV:"=)
#
# relative directories from root of NetHack tree.
#
#LIBSDIR=lib # libraries and external bits
#SUBMSDIR=submodules # NetHack git submodules
PACKAGESDIR=vspackage # put in vspackage to distinguish
ROOTDIR=..\..\..\..\ # root of NetHack tree relative to project file
PlatformFileName=$(lowercase $(PSN))
# Directories we might have to collect things from
#
INCL = $(ROOTDIR)include # NetHack include files
DAT = $(ROOTDIR)dat # NetHack data files
DOC = $(ROOTDIR)doc # NetHack documentation files
UTIL = $(ROOTDIR)util # Utility source
SRC = $(ROOTDIR)src # Main source
SSYS = $(ROOTDIR)sys\share # Shared system files
MSWSYS = $(ROOTDIR)sys\windows # MS windows specific files
TTY = $(ROOTDIR)win\tty # window port files (tty)
MSWIN = $(ROOTDIR)win\win32 # window port files (win32)
WCURSES = $(ROOTDIR)win\curses # window port files (curses)
WSHR = $(ROOTDIR)win\share # Tile support files
QT = $(ROOTDIR)win\Qt # QT support files
X11 = $(ROOTDIR)win\X11 # X11 support files
LIBDIR = $(ROOTDIR)lib # libraries and external bits
SUBMDIR = $(ROOTDIR)submodules # NetHack git submodules
SndWavDir = $(ROOTDIR)sound\wav # sound files that get integrated
DocDir = $(ROOTDIR)doc
# Directories we might place collected things
#
VSBINDIR=$(ROOTDIR)vsbinary
VSPACKAGEDIR = $(ROOTDIR)vspackage
default: showvar packageall
#===============================================================================
# makefile rules
#===============================================================================
# Rules for files in dat
{$(DAT)}.dat{$(VSBINDIR)}.dat:
copy /Y $< $@
#===============================================================================
# packaging
#===============================================================================
PKGFILES=Guidebook.txt license NetHack.exe NetHack.txt \
NetHackW.exe opthelp nhdat370 record symbols.template sysconf.template \
nethackrc.template
FILESTOZIP=$(VSBINDIR)\Guidebook.txt $(VSBINDIR)\license \
$(VSBINDIR)\NetHack.exe $(VSBINDIR)\NetHack.txt $(VSBINDIR)\NetHackW.exe \
$(VSBINDIR)\opthelp $(VSBINDIR)\nhdat370 $(VSBINDIR)\record \
$(VSBINDIR)\symbols.template $(VSBINDIR)\sysconf.template $(VSBINDIR)\nethackrc.template
DBGSYMS = NetHack.PDB NetHackW.PDB
PDBTOZIP = ..\NetHack\symbols\$(Configuration)\$(Platform)\NetHack.PDB \
..\NetHackW\symbols\$(Configuration)\$(Platform)\NetHackW.PDB
MAINZIP = $(VSPACKAGEDIR)\nethack-$(NHV)-win-$(PlatformFileName).zip
DBGSYMZIP = $(VSPACKAGEDIR)\nethack-$(NHV)-win-$(PlatformFileName)-debugsymbols.zip
packageall: packagezip
packagezip: vsbindir vspackagedir $(FILESTOZIP) $(MAINZIP) $(DBGSYMZIP)
@echo NetHack Windows package created: $(MAINZIP)
$(MAINZIP): $(FILESTOZIP)
# if not exist $(VSPACKAGEDIR)\*.* mkdir $(VSPACKAGEDIR)
tar -a -cf $(MAINZIP) -C $(VSBINDIR) $(PKGFILES)
$(DBGSYMZIP): $(PDBTOZIP)
tar -a -cf $(DBGSYMZIP) $(PDBTOZIP)
$(VSBINDIR)\license: $(BinDir)license
copy /Y $(BinDir)license $@
$(VSBINDIR)\Guidebook.txt: $(BinDir)Guidebook.txt
copy /Y $(DocDir)Guidebook.txt $@
$(VSBINDIR)\NetHack.exe: $(BinDir)NetHack.exe
copy /Y $(BinDir)NetHack.exe $@
$(VSBINDIR)\NetHack.txt: $(BinDir)NetHack.txt
copy /Y $(DocDir)NetHack.txt $@
$(VSBINDIR)\NetHackW.exe: $(BinDir)NetHackW.exe
copy /Y $(BinDir)NetHackW.exe $@
$(VSBINDIR)\opthelp: $(BinDir)opthelp
copy /Y $(BinDir)opthelp $@
$(VSBINDIR)\nhdat$(NHV): $(BinDir)nhdat$(NHV)
copy /Y $(BinDir)\nhdat$(NHV) $@
$(VSBINDIR)\symbols.template: $(BinDir)symbols.template
copy /Y $(BinDir)symbols.template $@
$(VSBINDIR)\nethackrc.template: $(BinDir)nethackrc.template
copy /Y $(BinDir)nethackrc.template $@
$(VSBINDIR)\sysconf.template: $(BinDir)sysconf.template
copy /Y $(BinDir)sysconf.template $@
$(VSBINDIR)\record:
-if not exist $(VSBINDIR)\record. goto>$(VSBINDIR)record.
showvar:
@echo BinDir=[$(BinDir)]
@echo Platform=[$(Platform)]
@echo PlatformShortName=[$(PSN)]
@echo Configuration=[$(Configuration)]
@echo Host=[$(Host)]
vspackagedir:
@if not exist $(VSPACKAGEDIR)\*.* echo creating directory $(VSPACKAGEDIR:\=/)
@if not exist $(VSPACKAGEDIR)\*.* mkdir $(VSPACKAGEDIR)
vsbindir:
@if not exist $(VSBINDIR)\*.* echo creating directory $(VSBINDIR:\=/)
@if not exist $(VSBINDIR)\*.* mkdir $(VSBINDIR)
clean:
# @if exist $(LIBDIR)\$(PDCDIST) rmdir /Q $(LIBDIR)\$(PDCDIST) /s
# @if exist $(LIBDIR)\lua-$(LUA_VERSION) rmdir /Q $(LIBDIR)\lua-$(LUA_VERSION) /s
# @if exist ..\..\..\..\include\nhlua.h del /Q ..\..\..\..\include\nhlua.h
rebuild:
# @if exist $(LIBDIR)\$(PDCDIST) echo nothing to do for lib\$(PDCDIST)
# @if exist $(LIBDIR)\lua-$(LUA_VERSION) echo nothing to do for lib\lua-$(LUA_VERSION)