# 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 ROOTDIR=..\..\..\..\ # root of NetHack tree relative to project file PlatformFileName=$(lowercase $(PSN)) PackageDir=$(PackageBin) # Directories we might have to collect things from LIBDIR = $(ROOTDIR)lib # Documentation and text files DocDir = $(ROOTDIR)doc # binary # 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: $(PackageDir)\license copy /Y $(PackageDir)\license $@ $(VSBINDIR)\Guidebook.txt: $(DocDir)\Guidebook.txt copy /Y $(DocDir)\Guidebook.txt $@ $(VSBINDIR)\NetHack.exe: $(PackageDir)\NetHack.exe copy /Y $(PackageDir)\NetHack.exe $@ $(VSBINDIR)\NetHack.txt: $(DocDir)\NetHack.txt copy /Y $(DocDir)\NetHack.txt $@ $(VSBINDIR)\NetHackW.exe: $(PackageDir)\NetHackW.exe copy /Y $(PackageDir)\NetHackW.exe $@ $(VSBINDIR)\opthelp: $(PackageDir)\opthelp copy /Y $(PackageDir)\opthelp $@ $(VSBINDIR)\nhdat$(NHV): $(PackageDir)\nhdat$(NHV) copy /Y $(PackageDir)\nhdat$(NHV) $@ $(VSBINDIR)\symbols.template: $(PackageDir)\symbols.template copy /Y $(PackageDir)\symbols.template $@ $(VSBINDIR)\nethackrc.template: $(PackageDir)\nethackrc.template copy /Y $(PackageDir)\nethackrc.template $@ $(VSBINDIR)\sysconf.template: $(PackageDir)\sysconf.template copy /Y $(PackageDir)\sysconf.template $@ $(VSBINDIR)\record: -if not exist $(VSBINDIR)\record. goto>$(VSBINDIR)record. showvar: @echo PackageDir=[$(PackageDir)] @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)