make some progress on mingw build

Still not quite there yet though.
Focusing on tty (maybe curses) right now.

The gui has had significant code deviation from
prior gcc builds for windows and will take more
work.
This commit is contained in:
nhmall
2018-11-29 20:59:03 -05:00
parent d45b8e4fb3
commit 5049d23ce0
5 changed files with 763 additions and 531 deletions

View File

@@ -0,0 +1,93 @@
# $NHDT-Date: 1524689255 2018/04/25 20:47:35 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.12 $
# Copyright (c) 2018 by Michael Allison
# NetHack may be freely redistributed. See license for details.
# Set all of these or none of them.
#
# bison and flex are the ones found in GnuWin32, which
# is probably the easiest set of these tools to find
# on Windows.
#
#YACC = bison.exe -y
#LEX = flex.exe
#YTABC = y.tab.c
#YTABH = y.tab.h
#LEXYYC = lex.yy.c
SHELL=cmd.exe
default: all
all: tools ../util/dgn_yacc.c ../util/dgn_lex.c
rebuild: clean all
clean:
-del ..\util\dgn_lex.c
-del ..\util\dgn_yacc.c
-del ..\include\dgn_comp.h
tools:
ifneq "$(YACC)" ""
@echo Yacc-alike set to $(YACC)
@echo YTABC set to $(YTABC)
@echo YTABH set to $(YTABH)
endif
ifneq "$(LEX)" ""
@echo Lex-alike set to $(LEX)
@echo LEXYYC set to $(LEXYYC)
endif
#==========================================
# Dungeon Compiler Stuff
#==========================================
../include/dgn_comp.h : ../util/dgn_comp.y
ifeq "$(YACC)" ""
@echo Using pre-built dgn_comp.h
chdir ..\include
copy /y ..\sys\share\dgn_comp.h
copy /b dgn_comp.h+,,
chdir ..\src
else
chdir ..\util
$(YACC) -d dgn_comp.y
copy $(YTABC) $@
copy $(YTABH) ..\include\dgn_comp.h
@del $(YTABC)
@del $(YTABH)
chdir ..\build
endif
../util/dgn_yacc.c : ../util/dgn_comp.y
ifeq "$(YACC)" ""
@echo Using pre-built dgn_yacc.c
chdir ..\util
copy /y ..\sys\share\dgn_yacc.c
copy /b dgn_yacc.c+,,
chdir ..\src
else
chdir ..\util
$(YACC) -d dgn_comp.y
copy $(YTABC) $@
copy $(YTABH) ..\include\dgn_comp.h
@del $(YTABC)
@del $(YTABH)
chdir ..\build
endif
../util/dgn_lex.c: ../util/dgn_comp.l
ifeq "$(LEX)" ""
@echo Using pre-built dgn_lex.c
chdir ..\util
copy /y ..\sys\share\dgn_lex.c
copy /b dgn_lex.c+,,
chdir ..\src
else
chdir ..\util
$(LEX) dgn_comp.l
copy $(LEXYYC) $@
@del $(LEXYYC)
chdir ..\build
endif

View File

@@ -0,0 +1,100 @@
# $NHDT-Date: 1524689255 2018/04/25 20:47:35 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.12 $
# Copyright (c) 2018 by Michael Allison
# NetHack may be freely redistributed. See license for details.
# Set all of these or none of them.
#
# bison and flex are the ones found in GnuWin32, which
# is probably the easiest set of these tools to find
# on Windows.
#
#YACC = bison.exe -y
#LEX = flex.exe
#YTABC = y.tab.c
#YTABH = y.tab.h
#LEXYYC = lex.yy.c
SHELL = cmd.exe
default: all
all: tools ../util/lev_yacc.c ../util/lev_lex.c
rebuild: clean all
clean:
-del ..\util\lev_lex.c
-del ..\util\lev_yacc.c
-del ..\include\lev_comp.h
tools:
ifneq "$(YACC)" ""
@echo Yacc-alike set to "$(YACC)"
@echo YTABC set to $(YTABC)
@echo YTABH set to $(YTABH)
endif
ifneq "$(LEX)" ""
@echo Lex-alike set to "$(LEX)"
@echo LEXYYC set to $(LEXYYC)
endif
#==========================================
# Level Compiler Stuff
#==========================================
../include/lev_comp.h: ../util/lev_comp.y
@echo Yacc-alike set to "$(YACC)"
ifeq "$(YACC)" ""
@echo Using pre-built lev_comp.h
chdir ..\include
copy /y ..\sys\share\lev_comp.h
copy /b lev_comp.h+,,
chdir ..\src
else
@echo Generating lev_yacc.c and lev_comp.h
chdir ..\util
$(YACC) -d lev_comp.y
copy $(YTABC) $@
copy $(YTABH) ..\include\lev_comp.h
@del $(YTABC)
@del $(YTABH)
chdir ..\src
endif
../util/lev_yacc.c: ../util/lev_comp.y
@echo Yacc-alike set to "$(YACC)"
ifeq "$(YACC)" ""
@echo Using pre-built lev_yacc.c
chdir ..\util
copy /y ..\sys\share\lev_yacc.c
copy /b lev_yacc.c+,,
chdir ..\src
else
@echo Generating lev_yacc.c and lev_comp.h
chdir ..\util
$(YACC) -d lev_comp.y
copy $(YTABC) $@
copy $(YTABH) ..\include\lev_comp.h
@del $(YTABC)
@del $(YTABH)
chdir ..\src
endif
../util/lev_lex.c: ../util/lev_comp.l
@echo Lex-alike set to "$(LEX)"
ifeq "$(LEX)" ""
@echo Using pre-built lev_lex.c
chdir ..\util
copy /y ..\sys\share\lev_lex.c
copy /b lev_lex.c+,,
chdir ..\src
else
@echo Generating lev_lex.c
chdir ..\util
$(LEX) lev_comp.l
copy $(LEXYYC) $@
@del $(LEXYYC)
chdir ..\src
endif

View File

@@ -0,0 +1,27 @@
#$NHDT-Date: 1524689255 2018/04/25 20:47:35 $ $NHDT-Branch: NetHack-3.6.0 $:$NHDT-Revision: 1.4 $
# Copyright (c) 2002 by Michael Allison
# NetHack may be freely redistributed. See license for details.
SHELL=cmd.exe
default: all
all: ../win/win32/tiles.bmp
clean:
-del ..\src\win\win32\tiles.bmp
-del ..\win\win32\tiles.bmp
#==========================================
# Building the tiles file tile.bmp
#==========================================
../src/tiles.bmp : ../win/share/monsters.txt ../win/share/objects.txt \
../win/share/other.txt
chdir ..\src
..\util\tile2bmp.exe tiles.bmp
chdir ..\build
..\win\win32\tiles.bmp: ..\src\tiles.bmp
@copy ..\src\tiles.bmp ..\win\win32\tiles.bmp