diff --git a/sys/windows/vs/FetchPrereq/fetchprereq.nmake b/sys/windows/vs/FetchPrereq/fetchprereq.nmake new file mode 100644 index 000000000..41c5a8a6f --- /dev/null +++ b/sys/windows/vs/FetchPrereq/fetchprereq.nmake @@ -0,0 +1,74 @@ +# NetHack 3.7 fetchprereq.nmake +#============================================================================== +# +# The version of the game this Makefile was designed for +NETHACK_VERSION="3.7.0" + +# A brief version for use in macros +NHV=$(NETHACK_VERSION:.=) +NHV=$(NHV:"=) + +# The version of Lua we want +LUA_VERSION=5.4.6 +CURLLUASRC=https://www.lua.org/ftp/lua-$(LUA_VERSION).tar.gz +CURLLUADST=lua-$(LUA_VERSION).tar.gz + +# The version of pdcursesmod that we want +PDCDIST=pdcursesmod +PDCURSES_VERSION = 4.4.0 +PDCURL=https://github.com/Bill-Gray/PDCursesMod/archive/refs/tags/v +CURLPDCSRC=$(PDCURL)$(PDCURSES_VERSION).zip +CURLPDCDST=$(PDCDIST) + +# +# 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 +LIBDIR=$(ROOTDIR)\$(LIBSDIR) +SUBMDIR=$(ROOTDIR)\$(SUBMSDIR) + + +default: fetchall + +fetchall: libdir fetch-Lua fetch-pdcurses ..\..\..\..\include\nhlua.h + +fetch-lua: fetch-actual-Lua + +fetch-Lua: fetch-actual-Lua + +fetch-actual-Lua: + cd $(LIBDIR) + curl --insecure -R -O $(CURLLUASRC) + tar zxf lua-$(LUA_VERSION).tar.gz + if exist lua-$(LUA_VERSION).tar.gz del lua-$(LUA_VERSION).tar.gz + cd ..\sys\windows\vs\fetchprereq + @echo Lua has been fetched into $(LIBDIR)\lua-$(LUA_VERSION) + +fetch-pdcurses: + cd $(LIBDIR) + curl --insecure -L -R $(PDCURL)$(PDCURSES_VERSION).zip -o $(PDCDIST).zip + if not exist $(PDCDIST)\*.* mkdir $(PDCDIST) + tar -C $(PDCDIST) --strip-components=1 -xvf $(CURLPDCDST).zip + if exist $(CURLPDCDST).zip del $(CURLPDCDST).zip + cd ..\sys\windows\vs\fetchprereq + @echo $(PDCDIST) has been fetched into $(LIBDIR)\$(PDCDIST) + +..\..\..\..\include\nhlua.h: + @echo /* nhlua.h - generated by Makefile from fetchprereq.nmake */ > $@ + @echo #include "lua.h" >> $@ + @echo LUA_API int (lua_error) (lua_State *L) NORETURN; >> $@ + @echo #include "lualib.h" >> $@ + @echo #include "lauxlib.h" >> $@ + @echo /*nhlua.h*/ >> $@ + +libdir: + @if not exist $(LIBDIR)\*.* echo creating directory $(LIB:\=/) + @if not exist $(LIBDIR)\*.* mkdir $(LIBDIR) + +clean: + +rebuild: + diff --git a/sys/windows/vs/FetchPrereq/fetchprereq.vcxproj b/sys/windows/vs/FetchPrereq/fetchprereq.vcxproj new file mode 100644 index 000000000..31e6b7dd0 --- /dev/null +++ b/sys/windows/vs/FetchPrereq/fetchprereq.vcxproj @@ -0,0 +1,69 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + + + 17.0 + {503AE687-C33A-45ED-93AA-83967E176D67} + Win32Proj + 10.0.22621.0 + + + + Makefile + true + + + Makefile + false + + + Makefile + true + + + Makefile + false + + + + + + + + + + + + pushd $(vsDir)fetchprereq %26%26 nmake -F fetchprereq.nmake %26%26 popd + pushd $(vsDir)fetchprereq %26%26 nmake -F fetchprereq.nmake clean %26%26 popd + pushd $(vsDir)fetchprereq %26%26 nmake -F fetchprereq.nmake rebuild %26%26 popd + _DEBUG;$(NMakePreprocessorDefinitions) + + + + + \ No newline at end of file diff --git a/sys/windows/vs/dirs.props b/sys/windows/vs/dirs.props index ce7236230..dc3f7ca7b 100644 --- a/sys/windows/vs/dirs.props +++ b/sys/windows/vs/dirs.props @@ -1,8 +1,8 @@ - + + 5.4.6 $(MSBuildProjectDirectory)\..\..\..\..\ - $(RootDir)sys\windows\vs\ $(RootDir)binary\$(Configuration)\$(Platform)\ $(ProjectDir)obj\$(Configuration)\$(Platform)\$(TargetName)\ $(ProjectDir)symbols\$(Configuration)\$(Platform)\$(TargetName)\ @@ -20,6 +20,7 @@ $(RootDir)util\ $(RootDir)sys\share\ $(RootDir)sys\windows\ + $(SysWindDir)vs\ $(RootDir)win\share\ $(RootDir)win\tty\ $(RootDir)win\win32\ @@ -27,20 +28,14 @@ $(ObjDir) $(RootDir)win\curses\ $(RootDir)submodules\ - $(SubmodulesDir)lua\ + $(LibDir)lua-$(LUA_VERSION)\src\ - - $(SubmodulesDir)PDCursesMod\ + + $(LibDir)pdcursesmod\ $(PDCURSESMOD) - - $(LibDir)PDCursesMod\ + + $(SubmodulesDir)pdcursesmod\ $(PDCURSESMOD) - - $(SubmodulesDir)PDCurses\ - - - $(LibDir)PDCurses\ -