more Makefile maintenance for Windows, msdos

This commit is contained in:
nhmall
2020-07-18 10:31:34 -04:00
parent aa69f6be04
commit a3bfb599ca
3 changed files with 168 additions and 353 deletions

View File

@@ -104,19 +104,19 @@ TARGET_CPU=x86
#4b Qt
#
#WANT_WIN_QT4 = N
#WANT_WIN_QT = N
# WANT_WIN_QT4 requires Qt 4 or Qt 5, see
# WANT_WIN_QT requires Qt 4 or Qt 5, see
# https://www.qt.io/download-open-source/
# Earlier versions of Qt are not compatible with Windows
# For Qt 5, use:
#
#QT4_DIRECTORY = c:/Qt/Qt5.9.2/5.9.2/mingw53_32
#QT_DIRECTORY = c:/Qt/Qt5.9.2/5.9.2/mingw53_32
#HAVE_QT5 = Y
# For Qt 4, comment out the above two lines and use:
#
#QT4_DIRECTORY = c:/Qt/4.8.6
#QT_DIRECTORY = c:/Qt/4.8.6
#HAVE_QT5 = N
#
@@ -187,6 +187,7 @@ NHV=$(subst ",,$(NHV1))
# MSWIN - window port files (win32)
# WCURSES - window port files (curses)
# WSHR - Tile support files
# QT - QT window support files
INCL =../include
DAT =../dat
@@ -199,6 +200,7 @@ TTY =../win/tty
MSWIN =../win/win32
WCURSES =../win/curses
WSHR =../win/share
QT =../win/Qt
#
# Object directory.
@@ -216,7 +218,7 @@ RANDOM = $(OBJ)/random.o
BCRYPT=-lbcrypt
WINPFLAG = -DTILES -DMSWIN_GRAPHICS -DWIN32CON -D_WIN32_IE=0x0400 -D_WIN32_WINNT=0x0601 -DWINVER=0x0601
ifeq "$(WANT_WIN_QT4)" "Y"
ifeq "$(WANT_WIN_QT)" "Y"
WINPFLAG += -DQT_GRAPHICS -DPIXMAPDIR='"."'
endif
# To store all the level files,
@@ -366,12 +368,12 @@ GUIOBJ = $(O)mhaskyn.o $(O)mhdlg.o \
endif
ifeq "$(WANT_WIN_QT4)" "Y"
GUIOBJ += $(O)qt4bind.o $(O)qt4click.o $(O)qt4clust.o $(O)qt4delay.o \
$(O)qt4glyph.o $(O)qt4icon.o $(O)qt4inv.o $(O)qt4key.o $(O)qt4line.o \
$(O)qt4main.o $(O)qt4map.o $(O)qt4menu.o $(O)qt4msg.o $(O)qt4plsel.o \
$(O)qt4rip.o $(O)qt4set.o $(O)qt4stat.o $(O)qt4str.o $(O)qt4streq.o \
$(O)qt4svsel.o $(O)qt4win.o $(O)qt4xcmd.o $(O)qt4yndlg.o
ifeq "$(WANT_WIN_QT)" "Y"
GUIOBJ += $(O)qt_bind.o $(O)qt_click.o $(O)qt_clust.o $(O)qt_delay.o \
$(O)qt_glyph.o $(O)qt_icon.o $(O)qt_inv.o $(O)qt_key.o $(O)qt_line.o \
$(O)qt_main.o $(O)qt_map.o $(O)qt_menu.o $(O)qt_msg.o $(O)qt_plsel.o \
$(O)qt_rip.o $(O)qt_set.o $(O)qt_stat.o $(O)qt_str.o $(O)qt_streq.o \
$(O)qt_svsel.o $(O)qt_win.o $(O)qt_xcmd.o $(O)qt_yndlg.o
endif
ifneq "$(SKIP_NETHACKW)" "Y"
@@ -382,14 +384,14 @@ GUIHDR = $(MSWIN)/mhaskyn.h $(MSWIN)/mhdlg.h $(MSWIN)/mhfont.h \
$(MSWIN)/mhtext.h $(MSWIN)/resource.h $(MSWIN)/winMS.h
endif
ifeq "$(WANT_WIN_QT4)" "Y"
GUIHDR += $(QT4)/qt4bind.h $(QT4)/qt4click.h $(QT4)/qt4clust.h \
$(QT4)/qt4delay.h $(QT4)/qt4glyph.h $(QT4)/qt4icon.h $(QT4)/qt4inv.h \
$(QT4)/qt4kde0.h $(QT4)/qt4key.h $(QT4)/qt4line.h $(QT4)/qt4main.h \
$(QT4)/qt4map.h $(QT4)/qt4menu.h $(QT4)/qt4msg.h $(QT4)/qt4plsel.h \
$(QT4)/qt4rip.h $(QT4)/qt4set.h $(QT4)/qt4stat.h $(QT4)/qt4str.h \
$(QT4)/qt4streq.h $(QT4)/qt4svsel.h $(QT4)/qt4win.h $(QT4)/qt4xcmd.h \
$(QT4)/qt4yndlg.h
ifeq "$(WANT_WIN_QT)" "Y"
GUIHDR += $(QT)/qt_bind.h $(QT)/qt_click.h $(QT)/qt_clust.h \
$(QT)/qt_delay.h $(QT)/qt_glyph.h $(QT)/qt_icon.h $(QT)/qt_inv.h \
$(QT)/qt_kde0.h $(QT)/qt_key.h $(QT)/qt_line.h $(QT)/qt_main.h \
$(QT)/qt_map.h $(QT)/qt_menu.h $(QT)/qt_msg.h $(QT)/qt_plsel.h \
$(QT)/qt_rip.h $(QT)/qt_set.h $(QT)/qt_stat.h $(QT)/qt_str.h \
$(QT)/qt_streq.h $(QT)/qt_svsel.h $(QT)/qt_win.h $(QT)/qt_xcmd.h \
$(QT)/qt_yndlg.h
endif
COMCTRL = comctl32.lib
@@ -543,7 +545,7 @@ rc = windres
link = gcc
endif
ifeq "$(WANT_WIN_QT4)" "Y"
ifeq "$(WANT_WIN_QT)" "Y"
link = g++
endif
@@ -563,17 +565,17 @@ CFLAGSBASE = -c $(cflags) $(WINPINC) $(cdebug) $(CURSESDEF)
baselibs = -lwinmm -lshell32 -lole32 -luuid
conlibs = -lgdi32 $(baselibs) $(BCRYPT)
guilibs = -lcomctl32 $(baselibs) $(BCRYPT)
ifeq "$(WANT_WIN_QT4)" "Y"
ifeq "$(WANT_WIN_QT)" "Y"
# Might be either Qt 4 or Qt 5
ifeq "$(HAVE_QT5)" "Y"
guilibs += $(QT4_DIRECTORY)/lib/libQt5Core.a
guilibs += $(QT4_DIRECTORY)/lib/libQt5Gui.a
guilibs += $(QT4_DIRECTORY)/lib/libQt5Widgets.a
conlibs += $(QT4_DIRECTORY)/lib/libQt5Core.a
guilibs += $(QT_DIRECTORY)/lib/libQt5Core.a
guilibs += $(QT_DIRECTORY)/lib/libQt5Gui.a
guilibs += $(QT_DIRECTORY)/lib/libQt5Widgets.a
conlibs += $(QT_DIRECTORY)/lib/libQt5Core.a
else
guilibs += $(QT4_DIRECTORY)/lib/libQtCore4.a
guilibs += $(QT4_DIRECTORY)/lib/libQtGui4.a
conlibs += $(QT4_DIRECTORY)/lib/libQtCore4.a
guilibs += $(QT_DIRECTORY)/lib/libQtCore4.a
guilibs += $(QT_DIRECTORY)/lib/libQtGui4.a
conlibs += $(QT_DIRECTORY)/lib/libQtCore4.a
endif
endif
@@ -581,7 +583,7 @@ endif
# Extra files needed for some ports
#==========================================
EXTRA_FILES =
ifeq "$(WANT_WIN_QT4)" "Y"
ifeq "$(WANT_WIN_QT)" "Y"
ifeq "$(HAVE_QT5)" "Y"
EXTRA_FILES += $(GAMEDIR)/Qt5Core.dll
EXTRA_FILES += $(GAMEDIR)/Qt5Gui.dll
@@ -711,19 +713,19 @@ $(OBJ)/%.o : $(LUASRC)/%.c
$(cc) $(CFLAGS) -o$@ $<
#==========================================
# Rules for files in win/Qt4
# Rules for files in win/Qt
#==========================================
ifeq "$(HAVE_QT5)" "Y"
QT4_CXXFLAGS = -std=c++11
QT_CXXFLAGS = -std=c++11
else
QT4_CXXFLAGS =
QT_CXXFLAGS =
endif
$(OBJ)/%.o : $(QT4)/%.cpp
$(cxx) $(CXXFLAGS) $(QT4_CXXFLAGS) -I$(MSWIN) -I$(QT4_DIRECTORY)/include -o$@ $<
$(OBJ)/%.o : $(QT)/%.cpp
$(cxx) $(CXXFLAGS) $(QT_CXXFLAGS) -I$(MSWIN) -I$(QT_DIRECTORY)/include -o$@ $<
$(QT4)/%.moc : $(QT4)/%.h
$(QT4_DIRECTORY)\bin\moc -o $@ $<
$(QT)/%.moc : $(QT)/%.h
$(QT_DIRECTORY)\bin\moc -o $@ $<
ifeq "$(SKIP_NETHACKW)" "Y"
NETHACKW_EXE =
@@ -1373,22 +1375,22 @@ $(O)cursstat.o: $(WCURSES)/cursstat.c $(WCURSES)/cursstat.h $(INCL)/wincurs.h
$(O)curswins.o: $(WCURSES)/curswins.c $(WCURSES)/curswins.h $(INCL)/wincurs.h
endif
ifeq "$(WANT_WIN_QT4)" "Y"
ifeq "$(WANT_WIN_QT)" "Y"
# Qt dependencies
$(GAMEDIR))/Qt5Core.dll : $(QT4_DIRECTORY)/bin/Qt5Core.dll
$(GAMEDIR))/Qt5Core.dll : $(QT_DIRECTORY)/bin/Qt5Core.dll
$(subst /,\,@copy $< $@ >nul)
$(GAMEDIR))/Qt5Gui.dll : $(QT4_DIRECTORY)/bin/Qt5Gui.dll
$(GAMEDIR))/Qt5Gui.dll : $(QT_DIRECTORY)/bin/Qt5Gui.dll
$(subst /,\,@copy $< $@ >nul)
$(GAMEDIR)/Qt5Widgets.dll : $(QT4_DIRECTORY)/bin/Qt5Widgets.dll
$(GAMEDIR)/Qt5Widgets.dll : $(QT_DIRECTORY)/bin/Qt5Widgets.dll
$(subst /,\,@copy $< $@ >nul)
$(GAMEDIR)/QtCore4.dll : $(QT4_DIRECTORY)/bin/QtCore4.dll
$(GAMEDIR)/QtCore4.dll : $(QT_DIRECTORY)/bin/QtCore4.dll
$(subst /,\,@copy $< $@ >nul)
$(GAMEDIR)/QtGui4.dll : $(QT4_DIRECTORY)/bin/QtGui4.dll
$(GAMEDIR)/QtGui4.dll : $(QT_DIRECTORY)/bin/QtGui4.dll
$(subst /,\,@copy $< $@ >nul)
$(GAMEDIR)/nhtiles.bmp : $(SRC)/tiles.bmp
@@ -1397,15 +1399,15 @@ $(GAMEDIR)/nhtiles.bmp : $(SRC)/tiles.bmp
$(GAMEDIR)/rip.xpm : ../win/X11/rip.xpm
$(subst /,\,@copy $< $@ >nul)
# Dependencies on .moc files (for Qt 4 or 5)
$(OBJ)/qt4main.o : $(QT4)/qt4main.cpp $(QT4)/qt4main.moc $(QT4)/qt4kde0.moc
$(OBJ)/qt4map.o : $(QT4)/qt4map.cpp $(QT4)/qt4map.moc
$(OBJ)/qt4menu.o : $(QT4)/qt4menu.cpp $(QT4)/qt4menu.moc
$(OBJ)/qt4msg.o : $(QT4)/qt4msg.cpp $(QT4)/qt4msg.moc
$(OBJ)/qt4plsel.o : $(QT4)/qt4plsel.cpp $(QT4)/qt4plsel.moc
$(OBJ)/qt4set.o : $(QT4)/qt4set.cpp $(QT4)/qt4set.moc
$(OBJ)/qt4stat.o : $(QT4)/qt4stat.cpp $(QT4)/qt4stat.moc
$(OBJ)/qt4xcmd.o : $(QT4)/qt4xcmd.cpp $(QT4)/qt4xcmd.moc
$(OBJ)/qt4yndlg.o : $(QT4)/qt4yndlg.cpp $(QT4)/qt4yndlg.moc
$(OBJ)/qt_main.o : $(QT)/qt_main.cpp $(QT)/qt_main.moc $(QT)/qt_kde0.moc
$(OBJ)/qt_map.o : $(QT)/qt_map.cpp $(QT)/qt_map.moc
$(OBJ)/qt_menu.o : $(QT)/qt_menu.cpp $(QT)/qt_menu.moc
$(OBJ)/qt_msg.o : $(QT)/qt_msg.cpp $(QT)/qt_msg.moc
$(OBJ)/qt_plsel.o : $(QT)/qt_plsel.cpp $(QT)/qt_plsel.moc
$(OBJ)/qt_set.o : $(QT)/qt_set.cpp $(QT)/qt_set.moc
$(OBJ)/qt_stat.o : $(QT)/qt_stat.cpp $(QT)/qt_stat.moc
$(OBJ)/qt_xcmd.o : $(QT)/qt_xcmd.cpp $(QT)/qt_xcmd.moc
$(OBJ)/qt_yndlg.o : $(QT)/qt_yndlg.cpp $(QT)/qt_yndlg.moc
endif
#
@@ -1479,66 +1481,15 @@ $(O)wintext.o: ../win/X11/wintext.c $(HACK_H) $(INCL)/winX.h $(INCL)/xwindow.h
$(O)winval.o: ../win/X11/winval.c $(HACK_H) $(INCL)/winX.h
$(cc) $(CFLAGS) -o$@ ../win/X11/winval.c
$(O)tile.o: $(SRC)/tile.c $(HACK_H)
$(O)gnaskstr.o: ../win/gnome/gnaskstr.c ../win/gnome/gnaskstr.h \
../win/gnome/gnmain.h
$(cc) $(CFLAGS) $(GNOMEINC) -o$@ ../win/gnome/gnaskstr.c
$(O)gnbind.o: ../win/gnome/gnbind.c ../win/gnome/gnbind.h ../win/gnome/gnmain.h \
../win/gnome/gnaskstr.h ../win/gnome/gnyesno.h
$(cc) $(CFLAGS) $(GNOMEINC) -o$@ ../win/gnome/gnbind.c
$(O)gnglyph.o: ../win/gnome/gnglyph.c ../win/gnome/gnglyph.h $(INCL)/tile2x11.h
$(cc) $(CFLAGS) $(GNOMEINC) -o$@ ../win/gnome/gnglyph.c
$(O)gnmain.o: ../win/gnome/gnmain.c ../win/gnome/gnmain.h ../win/gnome/gnsignal.h \
../win/gnome/gnbind.h ../win/gnome/gnopts.h $(HACK_H) \
$(INCL)/date.h
$(cc) $(CFLAGS) $(GNOMEINC) -o$@ ../win/gnome/gnmain.c
$(O)gnmap.o: ../win/gnome/gnmap.c ../win/gnome/gnmap.h ../win/gnome/gnglyph.h \
../win/gnome/gnsignal.h $(HACK_H)
$(cc) $(CFLAGS) $(GNOMEINC) -o$@ ../win/gnome/gnmap.c
$(O)gnmenu.o: ../win/gnome/gnmenu.c ../win/gnome/gnmenu.h ../win/gnome/gnmain.h \
../win/gnome/gnbind.h
$(cc) $(CFLAGS) $(GNOMEINC) -o$@ ../win/gnome/gnmenu.c
$(O)gnmesg.o: ../win/gnome/gnmesg.c ../win/gnome/gnmesg.h ../win/gnome/gnsignal.h
$(cc) $(CFLAGS) $(GNOMEINC) -o$@ ../win/gnome/gnmesg.c
$(O)gnopts.o: ../win/gnome/gnopts.c ../win/gnome/gnopts.h ../win/gnome/gnglyph.h \
../win/gnome/gnmain.h ../win/gnome/gnmap.h $(HACK_H)
$(cc) $(CFLAGS) $(GNOMEINC) -o$@ ../win/gnome/gnopts.c
$(O)gnplayer.o: ../win/gnome/gnplayer.c ../win/gnome/gnplayer.h \
../win/gnome/gnmain.h $(HACK_H)
$(cc) $(CFLAGS) $(GNOMEINC) -o$@ ../win/gnome/gnplayer.c
$(O)gnsignal.o: ../win/gnome/gnsignal.c ../win/gnome/gnsignal.h \
../win/gnome/gnmain.h
$(cc) $(CFLAGS) $(GNOMEINC) -o$@ ../win/gnome/gnsignal.c
$(O)gnstatus.o: ../win/gnome/gnstatus.c ../win/gnome/gnstatus.h \
../win/gnome/gnsignal.h ../win/gnome/gn_xpms.h \
../win/gnome/gnomeprv.h
$(cc) $(CFLAGS) $(GNOMEINC) -o$@ ../win/gnome/gnstatus.c
$(O)gntext.o: ../win/gnome/gntext.c ../win/gnome/gntext.h ../win/gnome/gnmain.h \
../win/gnome/gn_rip.h
$(cc) $(CFLAGS) $(GNOMEINC) -o$@ ../win/gnome/gntext.c
$(O)gnworn.o: ../win/gnome/gnworn.c ../win/gnome/gnworn.h ../win/gnome/gnglyph.h \
../win/gnome/gnsignal.h ../win/gnome/gnomeprv.h
$(cc) $(CFLAGS) $(GNOMEINC) -o$@ ../win/gnome/gnworn.c
$(O)gnyesno.o: ../win/gnome/gnyesno.c ../win/gnome/gnbind.h ../win/gnome/gnyesno.h
$(cc) $(CFLAGS) $(GNOMEINC) -o$@ ../win/gnome/gnyesno.c
$(O)wingem.o: ../win/gem/wingem.c $(HACK_H) $(INCL)/func_tab.h $(INCL)/dlb.h \
$(INCL)/wingem.h
$(cc) $(CFLAGS) -o$@ ../win/gem/wingem.c
$(O)wingem1.o: ../win/gem/wingem1.c $(INCL)/gem_rsc.h $(INCL)/load_img.h \
$(INCL)/gr_rect.h $(INCL)/wintype.h $(INCL)/wingem.h
$(cc) $(CFLAGS) -o$@ ../win/gem/wingem1.c
$(O)load_img.o: ../win/gem/load_img.c $(INCL)/load_img.h
$(cc) $(CFLAGS) -o$@ ../win/gem/load_img.c
$(O)gr_rect.o: ../win/gem/gr_rect.c $(INCL)/gr_rect.h
$(cc) $(CFLAGS) -o$@ ../win/gem/gr_rect.c
$(O)qt_win.o: ../win/Qt/qt_win.cpp $(HACK_H) $(INCL)/func_tab.h \
$(O)qt_win.o: $(QT)/qt_win.cpp $(HACK_H) $(INCL)/func_tab.h \
$(INCL)/dlb.h $(INCL)/tile2x11.h \
$(INCL)/qt_win.h $(INCL)/qt_clust.h $(INCL)/qt_kde0.h \
$(INCL)/qt_xpms.h qt_win.moc qt_kde0.moc qttableview.moc
$(CXX) $(CXXFLAGS) -o$@ ../win/Qt/qt_win.cpp
$(O)qt_clust.o: ../win/Qt/qt_clust.cpp $(INCL)/qt_clust.h
$(CXX) $(CXXFLAGS) -o$@ ../win/Qt/qt_clust.cpp
$(O)qttableview.o: ../win/Qt/qttableview.cpp $(INCL)/qttableview.h
$(CXX) $(CXXFLAGS) -o$@ ../win/Qt/qttableview.cpp
$(CXX) $(CXXFLAGS) -o$@ $(QT)/qt_win.cpp
$(O)qt_clust.o: $(QT)/qt_clust.cpp $(INCL)/qt_clust.h
$(CXX) $(CXXFLAGS) -o$@ $(QT)/qt_clust.cpp
$(O)qttableview.o: $(QT)/qttableview.cpp $(INCL)/qttableview.h
$(CXX) $(CXXFLAGS) -o$@ $(QT)/qttableview.cpp
$(O)vis_tab.o: vis_tab.c $(CONFIG_H) $(INCL)/vis_tab.h
$(O)allmain.o: allmain.c $(HACK_H)
$(O)alloc.o: alloc.c $(CONFIG_H)