cross-compile and build adjustments

Tested:
    Ubuntu: make WANT_WIN_TTY=1 WANT_WIN_CURSES=1 resp=1 update
    Ubuntu: make WANT_SYSTEM_LUA=1 WANT_WIN_TTY=1 WANT_WIN_CURSES=1 resp=1 update
    make CROSS_TO_MSDOS=1 package
    make CROSS_TO_AMIGA=1 all
    make CROSS_TO_AMIGA=1 package
This commit is contained in:
nhmall
2026-05-20 00:37:02 -04:00
parent 4c825ed9a9
commit 1b7e529732
5 changed files with 45 additions and 29 deletions
+23 -19
View File
@@ -553,10 +553,10 @@ CHAINOBJ ?= $(TARGETPFX)wc_chainin.o $(TARGETPFX)wc_chainout.o \
$(TARGETPFX)wc_trace.o
# .c files for this version (for date.h)
VERSOURCES ?= $(HACKCSRC) $(HACKLIBSRC) $(SYSSRC) $(WINSRC) $(CHAINSRC) $(GENTILECFILE)
VERSOURCES ?= $(HACKCSRC) $(HACKLIBSRC) $(SYSSRC) $(WINSRC) $(CHAINSRC)
# .c files for all versions using this Makefile (for lint and tags)
CSOURCES ?= $(HACKCSRC) $(HACKLIBSRC) $(SYSCSRC) $(WINCSRC) $(CHAINSRC) $(GENTILECFILE)
CSOURCES ?= $(HACKCSRC) $(HACKLIBSRC) $(SYSCSRC) $(WINCSRC) $(CHAINSRC)
# all .h files except date.h, which would
@@ -632,10 +632,10 @@ HOBJ ?= $(TARGETPFX)allmain.o $(TARGETPFX)alloc.o \
$(TARGETPFX)wizcmds.o $(TARGETPFX)worm.o $(TARGETPFX)worn.o \
$(TARGETPFX)write.o $(TARGETPFX)zap.o \
$(REGEXOBJ) $(RANDOBJ) $(SYSOBJ) $(WINOBJ) \
$(HINTOBJ) $(SNDLIBOBJ) $(UUIDOBJ) $(GENTILEOFILE) \
$(HINTOBJ) $(SNDLIBOBJ) $(UUIDOBJ) \
$(TARGETPFX)version.o
DATE_O ?= $(TARGETPFX)date.o
DATE_O = $(TARGETPFX)date.o
# the .o files from the HACKCSRC, SYSSRC, and WINSRC lists
@@ -653,51 +653,55 @@ pregame: $(RESPONSEFILES)
$(GAME): pregame $(MAKEDEFS) $(LUALIB) $(WAVS) $(SYSTEM)
@echo "$(GAME) is up to date."
Sysunix: $(HOSTOBJ) $(HOBJ) $(TARGET_HACKLIB) $(GENTILEOFILE) \
#$(info DATE_O=$(DATE_O))
#$(info GENTILEOFILE=$(GENTILEOFILE))
Sysunix: $(GENTILEOFILE) $(HOSTOBJ) $(HOBJ) $(TARGET_HACKLIB) \
$(DATE_O) $(BUILDMORE) Makefile
@echo "Linking $(GAME)."
$(AT)$(TARGET_LINK) $(TARGET_LFLAGS) -o $(GAMEBIN) \
$(HOBJ) $(DATE_O) $(TARGET_HACKLIB) $(WINLIB) \
$(HOBJ) $(DATE_O) $(GENTILEOFILE) \
$(TARGET_HACKLIB) $(WINLIB) \
$(TARGET_LIBS) $(LUALIBS) $(AUTOLIBS)
@touch Sysunix
Sys3B2: $(HOSTOBJ) $(HOBJ) $(TARGET_HACKLIB) $(GENTILEOFILE) \
Sys3B2: $(GENTILEOFILE) $(HOSTOBJ) $(HOBJ) $(TARGET_HACKLIB) \
$(DATE_O) $(BUILDMORE) Makefile
@echo "Linking $(GAME)."
$(AT)$(TARGET_LINK) $(TARGET_LFLAGS) -o $(GAMEBIN) \
$(HOBJ) $(DATE_O) $(TARGET_HACKLIB) $(WINLIB) \
$(LUALIBS) -lmalloc
$(HOBJ) $(DATE_O) $(GENTILEOFILE) \
$(TARGET_HACKLIB) $(WINLIB) $(LUALIBS) -lmalloc
@touch Sys3B2
Sysatt: $(HOSTOBJ) $(HOBJ) $(TARGET_HACKLIB) $(GENTILEOFILE) \
Sysatt: $(GENTILEOFILE) $(HOSTOBJ) $(HOBJ) $(TARGET_HACKLIB) \
$(DATE_O) $(BUILDMORE) Makefile
@echo "Loading $(GAME)."
$(AT)$(LD) $(TARGET_LFLAGS) /lib/crt0s.o /lib/shlib.ifile \
-o $(GAMEBIN) $(HOSTOBJ) $(HOBJ) $(DATE_O) \
$(TARGET_HACKLIB) $(LUALIBS)
-o $(GAMEBIN) $(HOSTOBJ) $(HOBJ) \
$(DATE_O) $(GENTILEOFILE) $(TARGET_HACKLIB) $(LUALIBS)
@touch Sysatt
Systos: $(HOSTOBJ) $(HOBJ) $(TARGET_HACKLIB) $(GENTILEOFILE) \
Systos: $(GENTILEOFILE) $(HOSTOBJ) $(HOBJ) $(TARGET_HACKLIB) \
$(DATE_O) $(BUILDMORE) Makefile
@echo "Linking $(GAME)."
$(AT)$(TARGET_LINK) $(TARGET_LFLAGS) -o $(GAMEBIN) \
$(HOBJ) $(DATE_O) $(TARGET_HACKLIB) \
$(HOBJ) $(DATE_O) $(GENTILEOFILE) $(TARGET_HACKLIB) \
$(WINLIB) $(LUALIBS)
@touch Systos
SysV-AT: DUMB.Setup $(HOSTOBJ) $(HOBJ) $(TARGET_HACKLIB) $(GENTILEOFILE) \
SysV-AT: DUMB.Setup $(GENTILEOFILE) $(HOSTOBJ) $(HOBJ) $(TARGET_HACKLIB) \
$(DATE_O) $(BUILDMORE) Makefile
@echo "Linking $(GAME)."
$(AT)$(TARGET_LINK) $(TARGET_LFLAGS) -o $(GAMEBIN) \
$(HOBJ) $(DATE_O) $(TARGET_HACKLIB) \
$(HOBJ) $(DATE_O) $(GENTILEOFILE) $(TARGET_HACKLIB) \
$(WINLIB) $(LUALIBS)
@touch SysV-AT
SysBe: $(HOSTOBJ) $(HOBJ) $(TARGET_HACKLIB) $(GENTILEOFILE) \
SysBe: $(GENTILEOFILE) $(HOSTOBJ) $(HOBJ) $(TARGET_HACKLIB) \
$(DATE_O) $(BUILDMORE) Makefile
@echo "Linking $(GAME)."
$(AT)$(TARGET_LINK) $(TARGET_LFLAGS) -o $(GAME) \
$(HOBJ) $(DATE_O) $(TARGET_HACKLIB) \
$(HOBJ) $(DATE_O) $(GENTILEOFILE) $(TARGET_HACKLIB) \
$(WINLIB) $(TARGET_LIBS) $(LUALIBS)
@xres -o $(GAME) ../win/BeOS/nethack.rsrc
@mimeset -f $(GAME)
@@ -785,7 +789,7 @@ $(TARGETPFX)sfbase.o: sfbase.c $(HACK_H) ../include/sfprocs.h ../include/sfmacro
# date.c should be recompiled any time any of the source or include code
# is modified.
DATECFLAGS = $(TARGET_CFLAGS) $(GITHASH) $(GITBRANCH) $(GITPREFIX)
$(TARGETPFX)date.o: date.c $(HACK_H) $(HACKCSRC) $(HOBJ) $(TARGET_HACKLIB)
$(TARGETPFX)date.o: date.c $(GENTILECFILE) $(HACK_H) $(HACKCSRC) $(HOBJ) $(TARGET_HACKLIB)
$(TARGET_CC) $(DATECFLAGS) -c -o $@ date.c
# date.h should be remade any time any of the source or include code
+2 -2
View File
@@ -123,8 +123,8 @@ RECOVERBIN = recover
# Lua
LUAHEADERS ?= lib/lua-$(LUA_VERSION)/src
LUATESTTARGET ?= $(LUAHEADERS)/lua.h
LUATOP ?= $(LUAHEADERS)
LUAMAKEFLAGS ?= CC='$(CC)' SYSCFLAGS='$(SYSCFLAGS)'
LUATOP = $(LUAHEADERS)
LUAMAKEFLAGS = CC='$(CC)' SYSCFLAGS='$(SYSCFLAGS)'
LUA2NHTOP ?= ../../..
LUABASELIB ?= liblua-$(LUA_VERSION).a
LUATOPLIB ?= lib/lua/$(LUABASELIB)
+8 -4
View File
@@ -5,6 +5,10 @@
ifdef CROSS_TO_MSDOS
#
.PHONY: tilemap
tilemap: ../util/tilemap.o $(SRCDIR)/objects.o $(SRCDIR)/monst.o $(SRCDIR)/drawing.o $(HACKLIB)
../util/tilemap.o : ../win/share/tilemap.c
(cd ../util ; make tilemap.o ; cd ../src )
$(TARGETPFX)msdos.o : ../sys/msdos/msdos.c $(HACK_H)
$(TARGETPFX)font.o : ../sys/msdos/font.c ../sys/msdos/font.h $(HACK_H)
$(TARGETPFX)pckeys.o : ../sys/msdos/pckeys.c $(HACK_H)
@@ -20,13 +24,13 @@ $(TARGETPFX)vidstub.o : ../sys/msdos/vidvesa.c ../sys/msdos/portio.h \
$(HACK_H)
$(TARGETPFX)tile.o : $(SRCDIR)/tile.c
$(TARGET_CC) $(TARGET_CFLAGS) -c -o $@ $(SRCDIR)/tile.c
$(SRCDIR)/tile.c : tiletext
$(SRCDIR)/tile.c : tilemap
$(TARGETPFX)exceptn.o : ../lib/djgpp/djgpp-patch/src/libc/go32/exceptn.S
$(TARGET_CC) -c -o $@ ../lib/djgpp/djgpp-patch/src/libc/go32/exceptn.S
$(TARGET_AR) ru ../lib/djgpp/i586-pc-msdosdjgpp/lib/libc.a $(TARGETPFX)exceptn.o
$(GAMEBIN) : $(HOBJ) $(TARGETPFX)date.o $(TARGET_HACKLIB) $(LUACROSSLIB)
$(TARGET_LINK) $(TARGET_LFLAGS) -o $@ \
$(HOBJ) $(TARGET_HACKLIB) $(WINLIB) $(TARGET_LIBS)
$(HOBJ) $(DATE_O) $(GENTILEOFILE) $(TARGET_HACKLIB) $(WINLIB) $(TARGET_LIBS)
$(DOSFONT)/ter-u16b.psf: $(FONTTOP)/ter-u16b.bdf $(DOSFONT)/nh-u16b.bdf $(DOSFONT)/makefont.lua $(LUABIN)
$(LUABIN) $(DOSFONT)/makefont.lua $(FONTTOP)/ter-u16b.bdf $(DOSFONT)/nh-u16b.bdf $@
$(DOSFONT)/ter-u16v.psf: $(FONTTOP)/ter-u16v.bdf $(DOSFONT)/nh-u16v.bdf $(DOSFONT)/makefont.lua $(LUABIN)
@@ -351,7 +355,7 @@ $(TARGETPFX)hacklib.a: $(TARGETPFX)hacklib.o
$(TARGET_AR) $(TARGET_ARFLAGS) $@ $(TARGETPFX)hacklib.o
ifdef MAKEFILE_UTL
$(TARGETPFX)recover.o: recover.c $(CONFIG_H)
$(TARGET_CC) $(TARGET_CFLAGS) $(CSTD) -c recover.c -o $@
$(TARGET_CC) $(TARGET_CFLAGS) -c recover.c -o $@
ifdef CROSS_TO_MSDOS
$(TARGETPFX)recover.exe : $(TARGETPFX)recover.o $(TARGETPFX)rversion.o $(TARGETPFX)hacklib.a
$(TARGET_LINK) $(TARGET_LFLAGS) \
@@ -362,7 +366,7 @@ $(TARGETPFX)recover : $(TARGETPFX)recover.o $(TARGETPFX)rversion.o $(TARGETPFX)h
$(TARGETPFX)recover.o $(TARGETPFX)rversion.o $(TARGETPFX)hacklib.a -o $@
endif
$(TARGETPFX)rversion.o: ../src/version.c $(HACK_H)
$(TARGET_CC) $(TARGET_CFLAGS) -DMINIMAL_FOR_RECOVER $(CSTD) -c ../src/version.c -o $@
$(TARGET_CC) $(TARGET_CFLAGS) -DMINIMAL_FOR_RECOVER -c ../src/version.c -o $@
endif # MAKEFILE_UTL
endif # CROSS
+8
View File
@@ -123,6 +123,8 @@ ifdef CROSS_TO_MSDOS
#=================================================================
CFLAGS += -DCROSSCOMPILE
#also set a make variable flagging this as a crosscompile
CROSSCOMPILE=1
#
# Override the build tools and some obj files to
@@ -274,6 +276,8 @@ ifdef CROSS_TO_WASM
# WASM
# originally from https://github.com/NetHack/NetHack/pull/385
#===============-=================================================
#also set a make variable flagging this as a crosscompile
CROSSCOMPILE=1
#
#WASM_DEBUG = 1
WASM_DATA_DIR = $(TARGETPFX)wasm-data
@@ -410,6 +414,8 @@ ifdef CROSS_TO_MIPS
#=================================================================
CFLAGS += -DCROSSCOMPILE
#also set a make variable flagging this as a crosscompile
CROSSCOMPILE=1
#
# Override the build tools and some obj files to
@@ -486,6 +492,8 @@ ifdef CROSS_TO_AMIGA
#=================================================================
CFLAGS += -DCROSSCOMPILE
#also set a make variable flagging this as a crosscompile
CROSSCOMPILE=1
#
# Override the build tools and some obj files to
+4 -4
View File
@@ -162,10 +162,10 @@ LUATESTTARGET := $(LUAHEADERS)/lua.h
endif
#
LUAHPREFIX=
LUATOP=
LUAMAKEFLAGS=
LUA2NHTOP=
LUABASELIB=
#LUATOP=
#LUAMAKEFLAGS=
#LUA2NHTOP=
#LUABASELIB=
LUATOPLIB=
LUALIBBUILT=
LUALIB=