283 lines
12 KiB
Plaintext
283 lines
12 KiB
Plaintext
#===============-=================================================
|
|
# NetHack 3.7 include/cross-post $NHDT-Date: 1597332785 2020/08/13 15:33:05 $ $NHDT-Branch: NetHack-3.7 $
|
|
#
|
|
# Cross-compiling -POST section
|
|
|
|
ifdef CROSS_TO_MSDOS
|
|
#
|
|
$(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)
|
|
$(TARGETPFX)pctiles.o : ../sys/msdos/pctiles.c ../sys/msdos/portio.h $(HACK_H)
|
|
$(TARGETPFX)video.o : ../sys/msdos/video.c ../sys/msdos/portio.h $(HACK_H)
|
|
$(TARGETPFX)vidtxt.o : ../sys/msdos/vidtxt.c ../sys/msdos/portio.h \
|
|
../win/share/tile.h ../include/tileset.h $(HACK_H)
|
|
$(TARGETPFX)vidvga.o : ../sys/msdos/vidvga.c ../sys/msdos/portio.h \
|
|
../win/share/tile.h ../include/tileset.h $(HACK_H)
|
|
$(TARGETPFX)vidvesa.o : ../sys/msdos/vidvesa.c ../sys/msdos/portio.h \
|
|
../win/share/tile.h ../include/tileset.h ../sys/msdos/font.h $(HACK_H)
|
|
$(TARGETPFX)vidstub.o : ../sys/msdos/vidvesa.c ../sys/msdos/portio.h \
|
|
$(HACK_H)
|
|
$(TARGETPFX)tile.o : tile.c
|
|
$(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) $(HACKLIB) $(LUACROSSLIB)
|
|
$(TARGET_LINK) $(TARGET_LFLAGS) -o $(GAMEBIN) \
|
|
$(HOBJ) $(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)
|
|
$(LUABIN) $(DOSFONT)/makefont.lua $(FONTTOP)/ter-u16v.bdf $(DOSFONT)/nh-u16v.bdf $@
|
|
$(DOSFONT)/ter-u18b.psf: $(FONTTOP)/ter-u18b.bdf $(DOSFONT)/nh-u18b.bdf $(DOSFONT)/makefont.lua $(LUABIN)
|
|
$(LUABIN) $(DOSFONT)/makefont.lua $(FONTTOP)/ter-u18b.bdf $(DOSFONT)/nh-u18b.bdf $@
|
|
$(DOSFONT)/ter-u20b.psf: $(FONTTOP)/ter-u20b.bdf $(DOSFONT)/nh-u20b.bdf $(DOSFONT)/makefont.lua $(LUABIN)
|
|
$(LUABIN) $(DOSFONT)/makefont.lua $(FONTTOP)/ter-u20b.bdf $(DOSFONT)/nh-u20b.bdf $@
|
|
$(DOSFONT)/ter-u22b.psf: $(FONTTOP)/ter-u22b.bdf $(DOSFONT)/nh-u22b.bdf $(DOSFONT)/makefont.lua $(LUABIN)
|
|
$(LUABIN) $(DOSFONT)/makefont.lua $(FONTTOP)/ter-u22b.bdf $(DOSFONT)/nh-u22b.bdf $@
|
|
$(DOSFONT)/ter-u24b.psf: $(FONTTOP)/ter-u24b.bdf $(DOSFONT)/nh-u24b.bdf $(DOSFONT)/makefont.lua $(LUABIN)
|
|
$(LUABIN) $(DOSFONT)/makefont.lua $(FONTTOP)/ter-u24b.bdf $(DOSFONT)/nh-u24b.bdf $@
|
|
$(DOSFONT)/ter-u28b.psf: $(FONTTOP)/ter-u28b.bdf $(DOSFONT)/nh-u28b.bdf $(DOSFONT)/makefont.lua $(LUABIN)
|
|
$(LUABIN) $(DOSFONT)/makefont.lua $(FONTTOP)/ter-u28b.bdf $(DOSFONT)/nh-u28b.bdf $@
|
|
$(DOSFONT)/ter-u32b.psf: $(FONTTOP)/ter-u32b.bdf $(DOSFONT)/nh-u32b.bdf $(DOSFONT)/makefont.lua $(LUABIN)
|
|
$(LUABIN) $(DOSFONT)/makefont.lua $(FONTTOP)/ter-u32b.bdf $(DOSFONT)/nh-u32b.bdf $@
|
|
#
|
|
.PHONY: dodata dospkg dosfonts
|
|
dosfonts: $(FONTTARGETS)
|
|
dospkg: dodata dosfonts $(GAMEBIN) $(TARGETPFX)recover.exe ../dat/nhtiles.bmp
|
|
$(TARGET_STUBEDIT) $(GAMEBIN) minstack=2048K
|
|
mkdir -p $(TARGETPFX)pkg
|
|
cp $(GAMEBIN) $(TARGETPFX)pkg/NETHACK.EXE
|
|
cp $(TARGETPFX)recover.exe $(TARGETPFX)pkg/RECOVER.EXE
|
|
cp ../dat/nhdat $(TARGETPFX)pkg/NHDAT
|
|
cp ../dat/license $(TARGETPFX)pkg/LICENSE
|
|
cp ../dat/nhtiles.bmp $(TARGETPFX)pkg/NHTILES.BMP
|
|
cp ../dat/symbols $(TARGETPFX)pkg/SYMBOLS
|
|
cp ../sys/share/NetHack.cnf $(TARGETPFX)pkg/NETHACK.CNF
|
|
cp ../sys/msdos/sysconf $(TARGETPFX)pkg/SYSCONF
|
|
cp ../doc/nethack.txt $(TARGETPFX)pkg/NETHACK.TXT
|
|
cp $(DOSFONT)/ter-u16b.psf $(TARGETPFX)pkg/TER-U16B.PSF
|
|
cp $(DOSFONT)/ter-u16v.psf $(TARGETPFX)pkg/TER-U16V.PSF
|
|
cp $(DOSFONT)/ter-u18b.psf $(TARGETPFX)pkg/TER-U18B.PSF
|
|
cp $(DOSFONT)/ter-u20b.psf $(TARGETPFX)pkg/TER-U20B.PSF
|
|
cp $(DOSFONT)/ter-u22b.psf $(TARGETPFX)pkg/TER-U22B.PSF
|
|
cp $(DOSFONT)/ter-u24b.psf $(TARGETPFX)pkg/TER-U24B.PSF
|
|
cp $(DOSFONT)/ter-u28b.psf $(TARGETPFX)pkg/TER-U28B.PSF
|
|
cp $(DOSFONT)/ter-u32b.psf $(TARGETPFX)pkg/TER-U32B.PSF
|
|
cp ../lib/djgpp/cwsdpmi/bin/CWSDPMI.EXE $(TARGETPFX)pkg/CWSDPMI.EXE
|
|
( if [ -f ../lib/djgpp/symify/simify.exe ]; then \
|
|
cp ../lib/djgpp/symify/simify.exe $(TARGETPFX)pkg/SYMIFY.EXE; \
|
|
else \
|
|
pwd; echo "../lib/djgpp/symify/symify.exe not found"; \
|
|
fi; )
|
|
-touch $(TARGETPFX)pkg/RECORD
|
|
cd $(TARGETPFX)pkg ; zip -9 ../NH370DOS.ZIP * ; cd ../../..
|
|
@echo msdos package zip file $(TARGETPFX)NH370DOS.ZIP
|
|
|
|
$(LUABIN):
|
|
( cd .. && make luabin && cd src)
|
|
dodata:
|
|
( cd .. && make dlb && cd src)
|
|
|
|
endif # CROSS_TO_MSDOS
|
|
|
|
ifdef CROSS_TO_WASM
|
|
$(WASM_TARGET): pregame $(TARGET_HACKLIB) $(TARGETPFX)date.o $(HOSTOBJ) $(HOBJ) $(LUACROSSLIB) $(WASM_DATA_DIR)
|
|
-rm $@
|
|
$(TARGET_CC) $(TARGET_LFLAGS) $(TARGET_CFLAGS) -o $@ \
|
|
$(HOBJ) $(TARGETPFX)date.o $(TARGET_HACKLIB) $(TARGET_LIBS)
|
|
|
|
$(WASM_DATA_DIR): $(WASM_DATA_DIR)/nhdat
|
|
touch $(WASM_DATA_DIR)/perm
|
|
touch $(WASM_DATA_DIR)/record
|
|
touch $(WASM_DATA_DIR)/logfile
|
|
touch $(WASM_DATA_DIR)/xlogfile
|
|
touch $(WASM_DATA_DIR)/livelog
|
|
cp ../sys/libnh/sysconf $(WASM_DATA_DIR)/sysconf
|
|
|
|
$(WASM_DATA_DIR)/nhdat:
|
|
( cd ..; $(MAKE) INSTDIR='$(WASM_DATA_DIR)' $(WASMDEP) dofiles-dlb )
|
|
|
|
#
|
|
$(TARGETPFX)unixmain.o : ../sys/unix/unixmain.c $(HACK_H)
|
|
$(TARGETPFX)unixres.o : ../sys/unix/unixres.c $(HACK_H)
|
|
$(TARGETPFX)unixunix.o : ../sys/unix/unixunix.c $(HACK_H)
|
|
$(TARGETPFX)ioctl.o : ../sys/share/ioctl.c $(HACK_H)
|
|
$(TARGETPFX)unixtty.o : ../sys/share/unixtty.c $(HACK_H)
|
|
$(TARGETPFX)winshim.o : ../win/shim/winshim.c $(HACK_H)
|
|
$(TARGETPFX)libnhmain.o : ../sys/libnh/libnhmain.c $(HACK_H)
|
|
endif # CROSS_TO_WASM
|
|
#
|
|
ifdef CROSS_TO_MIPS
|
|
$(MIPS_TARGET): pregame $(TARGETPFX)date.o $(HOSTOBJ) $(HOBJ) $(LUACROSSLIB) $(MIPS_DATA_DIR)
|
|
-rm $@
|
|
$(TARGET_CC) $(TARGET_LFLAGS) $(TARGET_CFLAGS) -o $@ \
|
|
$(HOBJ) $(TARGETPFX)date.o $(TARGET_LIBS)
|
|
|
|
$(MIPS_DATA_DIR): $(MIPS_DATA_DIR)/nhdat
|
|
touch $(MIPS_DATA_DIR)/perm
|
|
touch $(MIPS_DATA_DIR)/record
|
|
touch $(MIPS_DATA_DIR)/logfile
|
|
touch $(MIPS_DATA_DIR)/xlogfile
|
|
touch $(MIPS_DATA_DIR)/livelog
|
|
cp ../sys/unix/sysconf $(MIPS_DATA_DIR)/sysconf
|
|
|
|
$(MIPS_DATA_DIR)/nhdat:
|
|
( cd ..; $(MAKE) INSTDIR='$(MIPS_DATA_DIR)' $(MIPSDEP) dofiles-dlb )
|
|
|
|
#
|
|
$(TARGETPFX)unixmain.o : ../sys/unix/unixmain.c $(HACK_H)
|
|
$(TARGETPFX)unixres.o : ../sys/unix/unixres.c $(HACK_H)
|
|
$(TARGETPFX)unixunix.o : ../sys/unix/unixunix.c $(HACK_H)
|
|
$(TARGETPFX)ioctl.o : ../sys/share/ioctl.c $(HACK_H)
|
|
$(TARGETPFX)unixtty.o : ../sys/share/unixtty.c $(HACK_H)
|
|
endif # CROSS_TO_MIPS
|
|
#
|
|
|
|
|
|
ifdef CROSS_SHARED
|
|
# shared file dependencies
|
|
$(TARGETPFX)pcmain.o : ../sys/share/pcmain.c $(HACK_H)
|
|
$(TARGETPFX)pcsys.o : ../sys/share/pcsys.c $(HACK_H)
|
|
$(TARGETPFX)pctty.o : ../sys/share/pctty.c $(HACK_H)
|
|
$(TARGETPFX)pcunix.o : ../sys/share/pcunix.c $(HACK_H)
|
|
$(TARGETPFX)tileset.o : ../win/share/tileset.c
|
|
$(TARGETPFX)bmptiles.o : ../win/share/bmptiles.c
|
|
$(TARGETPFX)giftiles.o : ../win/share/giftiles.c
|
|
$(TARGETPFX)recover.o : ../util/recover.c
|
|
$(TARGETPFX)recover.exe : $(TARGETPFX)recover.o
|
|
$(TARGET_LINK) $(TARGET_LFLAGS) $(TARGETPFX)recover.o -o $@
|
|
endif # CROSS_SHARED
|
|
#
|
|
ifdef CROSS
|
|
$(TARGETPFX)hacklib.a: $(TARGETPFX)hacklib.o
|
|
$(TARGET_AR) $(TARGET_ARFLAGS) $@ $(TARGETPFX)hacklib.o
|
|
endif
|
|
ifdef BUILD_TARGET_LUA
|
|
# Lua lib
|
|
$(LUACROSSLIB): $(LUALIBOBJS)
|
|
if [ -f $@ ]; then rm $@; fi;
|
|
$(TARGET_AR) rcS $@ $(LUAOBJFILES1)
|
|
$(TARGET_AR) rcS $@ $(LUAOBJFILES2)
|
|
$(TARGET_AR) rcS $@ $(LUAOBJFILES3)
|
|
$(TARGET_AR) rcs $@ $(LUAOBJFILES4)
|
|
|
|
# $(TARGET_AR) rcs $@ $(LUALIBOBJS)
|
|
|
|
# Lua src
|
|
$(TARGETPFX)lapi.o : $(LUATOP)/src/lapi.c
|
|
$(TARGETPFX)lauxlib.o : $(LUATOP)/src/lauxlib.c
|
|
$(TARGETPFX)lbaselib.o : $(LUATOP)/src/lbaselib.c
|
|
$(TARGETPFX)lbitlib.o : $(LUATOP)/src/lbitlib.c
|
|
$(TARGETPFX)lcode.o : $(LUATOP)/src/lcode.c
|
|
$(TARGETPFX)lcorolib.o : $(LUATOP)/src/lcorolib.c
|
|
$(TARGETPFX)lctype.o : $(LUATOP)/src/lctype.c
|
|
$(TARGETPFX)ldblib.o : $(LUATOP)/src/ldblib.c
|
|
$(TARGETPFX)ldebug.o : $(LUATOP)/src/ldebug.c
|
|
$(TARGETPFX)ldo.o : $(LUATOP)/src/ldo.c
|
|
$(TARGETPFX)ldump.o : $(LUATOP)/src/ldump.c
|
|
$(TARGETPFX)lfunc.o : $(LUATOP)/src/lfunc.c
|
|
$(TARGETPFX)lgc.o : $(LUATOP)/src/lgc.c
|
|
$(TARGETPFX)linit.o : $(LUATOP)/src/linit.c
|
|
$(TARGETPFX)liolib.o : $(LUATOP)/src/liolib.c
|
|
$(TARGETPFX)llex.o : $(LUATOP)/src/llex.c
|
|
$(TARGETPFX)lmathlib.o : $(LUATOP)/src/lmathlib.c
|
|
$(TARGETPFX)lmem.o : $(LUATOP)/src/lmem.c
|
|
$(TARGETPFX)loadlib.o : $(LUATOP)/src/loadlib.c
|
|
$(TARGETPFX)lobject.o : $(LUATOP)/src/lobject.c
|
|
$(TARGETPFX)lopcodes.o : $(LUATOP)/src/lopcodes.c
|
|
$(TARGETPFX)loslib.o : $(LUATOP)/src/loslib.c
|
|
$(TARGETPFX)lparser.o : $(LUATOP)/src/lparser.c
|
|
$(TARGETPFX)lstate.o : $(LUATOP)/src/lstate.c
|
|
$(TARGETPFX)lstring.o : $(LUATOP)/src/lstring.c
|
|
$(TARGETPFX)lstrlib.o : $(LUATOP)/src/lstrlib.c
|
|
$(TARGETPFX)ltable.o : $(LUATOP)/src/ltable.c
|
|
$(TARGETPFX)ltablib.o : $(LUATOP)/src/ltablib.c
|
|
$(TARGETPFX)ltm.o : $(LUATOP)/src/ltm.c
|
|
$(TARGETPFX)lundump.o : $(LUATOP)/src/lundump.c
|
|
$(TARGETPFX)lutf8lib.o : $(LUATOP)/src/lutf8lib.c
|
|
$(TARGETPFX)lvm.o : $(LUATOP)/src/lvm.c
|
|
$(TARGETPFX)lzio.o : $(LUATOP)/src/lzio.c
|
|
endif # BUILD_TARGET_LUA
|
|
|
|
ifdef BUILD_TARGET_NCURSES
|
|
.PHONY: build-ncurses
|
|
ifdef MAKEFILE_SRC
|
|
../lib/ncurses.tar.gz:
|
|
@echo "You will need to successfully execute 'make CROSS_TO_MIPS=1 fetch-ncurses' first"
|
|
@false
|
|
$(TARGETPFX)ncurses/lib/libncurses.a: ../lib/ncurses.tar.gz
|
|
(cd $(TARGETDIR) ; mkdir -p ncurses ; cd ncurses ; tar -xf ../../../lib/ncurses.tar.gz --strip-components=1 ; \
|
|
./configure --build i686-pc-linux-gnu --host mipsel-linux-gnu ; \
|
|
make ; \
|
|
cd ../../../src)
|
|
endif #MAKEFILE_SRC
|
|
ifdef MAKEFILE_TOP
|
|
.PHONY: fetch-ncurses
|
|
fetch-ncurses:
|
|
(cd lib ; curl https://invisible-island.net/datafiles/release/ncurses.tar.gz --output ncurses.tar.gz ; cd ..)
|
|
endif
|
|
endif #BUILD_TARGET_NCURSES
|
|
|
|
ifdef BUILD_PDCURSES
|
|
ifdef WANT_WIN_CURSES
|
|
$(TARGETPFX)pdclib.a : $(PDCLIBOBJS) $(PDCOBJS)
|
|
if [ -f $@ ]; then rm $@; fi;
|
|
$(TARGET_AR) rcs $@ $(PDCLIBOBJS) $(PDCOBJS)
|
|
endif #WANT_WIN_CURSES
|
|
# PDCurses src
|
|
$(TARGETPFX)addch.o : $(PDCTOP)/pdcurses/addch.c
|
|
$(TARGETPFX)addchstr.o : $(PDCTOP)/pdcurses/addchstr.c
|
|
$(TARGETPFX)addstr.o : $(PDCTOP)/pdcurses/addstr.c
|
|
$(TARGETPFX)attr.o : $(PDCTOP)/pdcurses/attr.c
|
|
$(TARGETPFX)beep.o : $(PDCTOP)/pdcurses/beep.c
|
|
$(TARGETPFX)bkgd.o : $(PDCTOP)/pdcurses/bkgd.c
|
|
$(TARGETPFX)border.o : $(PDCTOP)/pdcurses/border.c
|
|
$(TARGETPFX)clear.o : $(PDCTOP)/pdcurses/clear.c
|
|
$(TARGETPFX)color.o : $(PDCTOP)/pdcurses/color.c
|
|
$(TARGETPFX)delch.o : $(PDCTOP)/pdcurses/delch.c
|
|
$(TARGETPFX)deleteln.o : $(PDCTOP)/pdcurses/deleteln.c
|
|
$(TARGETPFX)getch.o : $(PDCTOP)/pdcurses/getch.c
|
|
$(TARGETPFX)getstr.o : $(PDCTOP)/pdcurses/getstr.c
|
|
$(TARGETPFX)getyx.o : $(PDCTOP)/pdcurses/getyx.c
|
|
$(TARGETPFX)inch.o : $(PDCTOP)/pdcurses/inch.c
|
|
$(TARGETPFX)inchstr.o : $(PDCTOP)/pdcurses/inchstr.c
|
|
$(TARGETPFX)initscr.o : $(PDCTOP)/pdcurses/initscr.c
|
|
$(TARGETPFX)inopts.o : $(PDCTOP)/pdcurses/inopts.c
|
|
$(TARGETPFX)insch.o : $(PDCTOP)/pdcurses/insch.c
|
|
$(TARGETPFX)insstr.o : $(PDCTOP)/pdcurses/insstr.c
|
|
$(TARGETPFX)instr.o : $(PDCTOP)/pdcurses/instr.c
|
|
$(TARGETPFX)kernel.o : $(PDCTOP)/pdcurses/kernel.c
|
|
$(TARGETPFX)keyname.o : $(PDCTOP)/pdcurses/keyname.c
|
|
$(TARGETPFX)mouse.o : $(PDCTOP)/pdcurses/mouse.c
|
|
$(TARGETPFX)move.o : $(PDCTOP)/pdcurses/move.c
|
|
$(TARGETPFX)outopts.o : $(PDCTOP)/pdcurses/outopts.c
|
|
$(TARGETPFX)overlay.o : $(PDCTOP)/pdcurses/overlay.c
|
|
$(TARGETPFX)pad.o : $(PDCTOP)/pdcurses/pad.c
|
|
$(TARGETPFX)panel.o : $(PDCTOP)/pdcurses/panel.c
|
|
$(TARGETPFX)printw.o : $(PDCTOP)/pdcurses/printw.c
|
|
$(TARGETPFX)refresh.o : $(PDCTOP)/pdcurses/refresh.c
|
|
$(TARGETPFX)scanw.o : $(PDCTOP)/pdcurses/scanw.c
|
|
$(TARGETPFX)scr_dump.o : $(PDCTOP)/pdcurses/scr_dump.c
|
|
$(TARGETPFX)scroll.o : $(PDCTOP)/pdcurses/scroll.c
|
|
$(TARGETPFX)slk.o : $(PDCTOP)/pdcurses/slk.c
|
|
$(TARGETPFX)termattr.o : $(PDCTOP)/pdcurses/termattr.c
|
|
$(TARGETPFX)touch.o : $(PDCTOP)/pdcurses/touch.c
|
|
$(TARGETPFX)util.o : $(PDCTOP)/pdcurses/util.c
|
|
$(TARGETPFX)window.o : $(PDCTOP)/pdcurses/window.c
|
|
$(TARGETPFX)debug.o : $(PDCTOP)/pdcurses/debug.c
|
|
$(TARGETPFX)pdcclip.o : $(PDCPORT)/pdcclip.c
|
|
$(TARGETPFX)pdcdisp.o : $(PDCPORT)/pdcdisp.c
|
|
$(TARGETPFX)pdcgetsc.o : $(PDCPORT)/pdcgetsc.c
|
|
$(TARGETPFX)pdckbd.o : $(PDCPORT)/pdckbd.c
|
|
$(TARGETPFX)pdcscrn.o : $(PDCPORT)/pdcscrn.c
|
|
$(TARGETPFX)pdcsetsc.o : $(PDCPORT)/pdcsetsc.c
|
|
$(TARGETPFX)pdcutil.o : $(PDCPORT)/pdcutil.c
|
|
$(TARGET_CC) $(PDCINCL) $(PDC_TARGET_CFLAGS) \
|
|
-Wno-sign-compare -o$@ $(PDCPORT)/pdcutil.c
|
|
# -Wno-sign-compare
|
|
endif # BUILD_PDCURSES
|
|
#
|
|
# End of cross-compiling -POST section
|
|
#===============-=================================================
|