extern char Initialized;
extern struct window_procs amii_procs;
struct ami_sysflags sysflags = {0};
+FILE *fopenp(const char *, const char *);
#ifndef __SASC_60
int Enable_Abort = 0; /* for stdio package */
extern void display_map(struct Window *);
#endif
+#ifdef USE_TILES
+extern int maxmontile, maxobjtile, maxothtile; /* from tile.c */
+#define MAXMONTILE maxmontile
+#define MAXOBJTILE maxobjtile
+#define MAXOTHTILE maxothtile
+#endif
+
/*
* These values will be available from tile.c source
*
int
GlyphToIcon(int glyph)
{
+ glyph_info gi;
+
+ map_glyphinfo(0, 0, glyph, 0, &gi);
if (glyph > 10000)
return glyph;
- return (glyph2tile[glyph]);
+ return (gi.gm.tileidx);
}
#endif
} else /* AMII, or Rogue level in either version */
{
/* map glyph to character and color */
- (void) mapglyph(glyph, &och, &color, &special, x, y, 0);
- ch = (uchar) och;
+#if 0
+ (void) mapglyph(glyph, &och, &color, &special, x, y, 0);
+ ch = (uchar) och;
+#else
+ glyph_info gi;
+ map_glyphinfo(0, 0, glyph, 0, &gi);
+ ch = gi.ttychar;
+#endif
if (WINVERS_AMIV) { /* implies Rogue level here */
amii_curs(win, x, y);
amiga_print_glyph(win, NO_COLOR, ch + 10000);
--- /dev/null
+#!/bin/sh
+# outdated/sys/unix/cross-amiga.sh
+set -x
+
+cp outdated/sys/unix/hints/cross-amiga sys/unix/hints
+cp outdated/sys/unix/hints/include/cross-amiga-post sys/unix/hints/include
+cp outdated/sys/unix/hints/include/cross-amiga-pre sys/unix/hints/include
+
+CROSSCOMPILER_REPO="https://github.com/bebbo/amiga-gcc"
+
+if [ ! -d "/opt/amiga/bin" ]; then
+ export myname="$USER"
+ sudo mkdir -p /opt/amiga
+ sudo chown $myname /opt/amiga
+ mkdir -p lib
+ cd lib
+ git clone $CROSSCOMPILER_REPO
+ cd amiga-gcc
+ if [ "$(uname)" = "Darwin" ]; then
+ #Mac (git, Xcode and Homebrew assumed to already be installed)
+ platform=macOS
+ brew install bash wget make lhasa gmp mpfr libmpc flex gettext gnu-sed \
+ texinfo gcc@11 make autoconf
+ CC=gcc-11 CXX=g++-11 gmake all SHELL=$(brew --prefix)/bin/bash
+ special1=$(brew --prefix)/bin/bash
+ special=SHELL=$special1
+ elif [ "$(expr substr $(uname -s) 1 5)" = "Linux" ]; then
+ #Linux (git gcc, g++ assumed to already be installed)
+ platform=Linux
+ sudo apt install make wget git lhasa libgmp-dev libmpfr-dev \
+ libmpc-dev flex bison gettext texinfo ncurses-dev autoconf rsync
+ else
+ echo "No Amiga cross-compiler for you, sorry."
+ exit 1
+ fi
+ make clean
+ make clean-prefix
+ make all
+ cd ../..
+fi
--- /dev/null
+# NetHack 3.7 cross-amiga
+# Copyright (c) Kenneth Lorber, Kensington, Maryland, 2007.
+# NetHack may be freely redistributed. See license for details.
+#
+#---------------------------------------------------------------------
+# Linux hints file with support for multiple window ports (interfaces)
+# Tested on:
+# - Ubuntu focal
+#
+# If this doesn't work for your distribution, consider making a new
+# hints file for it, rather than changing this one.
+# And let us know about it.
+#
+
+#-PRE
+# cross-amiga hints file provides a single-user build for Linux (such
+# as Ubuntu focal).
+
+# note: '#-INCLUDE' is not just a comment
+# multiw-1.370 contains sections 1 to 2
+#-INCLUDE multiw-1.370
+
+# 3. If you set WANT_WIN_QT, you need to
+# A) set QTDIR either here or in the environment to point to the Qt5
+# Library installation root.
+# B) set XPMLIB to point to the Xpm library
+ifndef WANT_WIN_QT
+ifdef WANT_WIN_ALL
+WANT_WIN_QT=1
+endif
+ifdef WANT_WIN_QT5
+ifndef WANT_WIN_QT
+WANT_WIN_QT=1
+endif # not WANT_WIN_QT
+endif # WANT_WIN_QT5
+ifdef WANT_WIN_QT6
+ifndef WANT_WIN_QT
+WANT_WIN_QT=1
+endif # not WANT_WIN_QT
+endif # WANT_WIN_QT6
+endif # not WANT_WIN_QT
+
+ifdef WANT_WIN_QT
+ifndef WANT_WIN_QT5
+ifndef WANT_WIN_QT6
+WANT_WIN_QT5=1
+endif # not WANT_WIN_QT6
+endif # not WANT_WIN_QT5
+ifdef WANT_WIN_QT5
+QTDIR=/usr
+endif # WANT_WIN_QT5
+ifdef WANT_WIN_QT6
+#if your Qt6 is elsewhere, change this to match
+QTDIR=/usr/local/qt6
+endif # WANT_WIN_QT6
+endif # WANT_WIN_QT
+
+ifndef LIBXPM
+LIBXPM= -L/opt/X11/lib -lXpm
+endif
+
+#4. Other
+GAMEUID = $(USER)
+GAMEGRP = games
+
+#-----------------------------------------------------------------------------
+# You shouldn't need to change anything below here (in the hints file; if
+# you're reading this in Makefile augmented by hints, that may not be true).
+#
+
+#-INCLUDE multiw-2.370
+
+# compiler.370 contains compiler detection and adjustments common
+# to both linux and macOS
+
+#-INCLUDE compiler.370
+
+# NetHack sources control
+NHCFLAGS+=-DDLB
+NHCFLAGS+=-DHACKDIR=\"$(HACKDIR)\"
+NHCFLAGS+=-DDEFAULT_WINDOW_SYS=\"$(WANT_DEFAULT)\"
+NHCFLAGS+=-DSYSCF -DSYSCF_FILE=\"$(HACKDIR)/sysconf\" -DSECURE
+NHCFLAGS+=-DTIMED_DELAY
+NHCFLAGS+=-DDUMPLOG
+NHCFLAGS+=-DCONFIG_ERROR_SECURE=FALSE
+#NHCFLAGS+=-DGREPPATH=\"/usr/bin/grep\"
+NHCFLAGS+=-DCOMPRESS=\"/bin/gzip\" -DCOMPRESS_EXTENSION=\".gz\"
+#NHCFLAGS+=-DNOMAIL
+#NHCFLAGS+=-DEXTRA_SANITY_CHECKS
+#NHCFLAGS+=-DEDIT_GETLIN
+#NHCFLAGS+=-DSCORE_ON_BOTL
+#NHCFLAGS+=-DMSGHANDLER
+#NHCFLAGS+=-DTTY_TILES_ESCCODES
+#NHCFLAGS+=-DTTY_SOUND_ESCCODES
+
+CFLAGS+= $(WINCFLAGS) #WINCFLAGS set from multiw-2.370
+CFLAGS+= $(NHCFLAGS)
+
+CCXXFLAGS+= $(WINCFLAGS) #WINCFLAGS set from multiw-2.370
+CCXXFLAGS+= $(NHCFLAGS)
+
+VARDATND =
+VARDATND0 =
+CURSESLIB =
+
+#ifdef WANT_WIN_CHAIN
+#HINTSRC=$(CHAINSRC)
+#HINTOBJ=$(CHAINOBJ)
+#endif # WANT_WIN_CHAIN
+
+ifdef WANT_WIN_TTY
+CURSESLIB = -lncurses -ltinfo
+endif
+
+ifdef WANT_WIN_CURSES
+CURSESLIB = -lncurses -ltinfo
+endif
+
+ifdef CURSESLIB
+WINLIB += $(CURSESLIB)
+endif
+
+ifdef WANT_WIN_X11
+USE_XPM=1
+WINX11LIB = -lXaw -lXmu -lXext -lXt -lX11
+VARDATND0 += x11tiles NetHack.ad pet_mark.xbm pilemark.xbm
+# -x: if built without dlb, some versions of mkfontdir think *.lev are fonts
+POSTINSTALL += bdftopcf win/X11/nh10.bdf > $(HACKDIR)/nh10.pcf; ( cd $(HACKDIR); mkfontdir -x .lev );
+# separate from CFLAGS so that we don't pass it to every file
+X11CFLAGS = -I/opt/X11/include
+# avoid repeated complaints about _X_NONNULL(args...) in <X11/Xfuncproto.h>
+X11CFLAGS += -Wno-variadic-macros
+ifdef USE_XPM
+CFLAGS += -DUSE_XPM
+WINX11LIB += -lXpm
+VARDATND0 += rip.xpm
+endif
+WINLIB += $(WINX11LIB)
+LFLAGS=-L/opt/X11/lib
+endif # WANT_WIN_X11
+
+ifdef WANT_WIN_QT
+LINK = $(CXX)
+ifdef WANT_WIN_QT5
+QTCXXFLAGS += $(sort $(shell PKG_CONFIG_PATH=$(QTDIR)/lib/pkgconfig pkg-config Qt5Gui Qt5Widgets Qt5Multimedia --cflags))
+WINLIB += $(shell PKG_CONFIG_PATH=$(QTDIR)/lib/pkgconfig pkg-config Qt5Gui Qt5Widgets Qt5Multimedia --libs)
+endif # WANT_WIN_QT5
+ifdef WANT_WIN_QT6
+# As of January 2022 there was no Qt6 package available.
+ifndef QT_PACKAGE_AVAILABLE
+# Try some likely spots for a self-built Qt6.
+# You'll have to change these manually before using the hints file
+# if they don't match the installed location on your system.
+ifneq ($(wildcard /usr/local/Qt6/*),)
+QTDIR=/usr/local/Qt6
+QTLOCATED=1
+endif
+ifneq ($(wildcard /usr/local/qt6/*),)
+QTDIR=/usr/local/qt6
+QTLOCATED=1
+endif
+ifdef QTLOCATED
+QTCXXFLAGS += -I$(QTDIR)/include/QtCore
+QTCXXFLAGS += -I$(QTDIR)/include/QtGui
+QTCXXFLAGS += -I$(QTDIR)/include/QtMultimedia
+QTCXXFLAGS += -I$(QTDIR)/include/QtWidgets
+MOCPATH = $(QTDIR)/libexec/moc
+WINLIB += -L$(QTDIR)/lib -lQt6Widgets -lQt6Multimedia -lQt6Network -lQt6Gui -lQt6Core
+endif
+else # QT_PACKAGE_AVAILABLE
+QTCXXFLAGS += $(sort $(shell PKG_CONFIG_PATH=$(QTDIR)/lib/pkgconfig pkg-config Qt6Gui Qt6Widgets Qt6Multimedia --cflags))
+WINLIB += $(shell PKG_CONFIG_PATH=$(QTDIR)/lib/pkgconfig pkg-config Qt6Gui Qt6Widgets Qt6Multimedia --libs)
+endif # WANT_WIN_QT6
+else # QT_PACKAGE_AVAILABLE
+endif # QT_PACKAGE_AVAILABLE
+ifndef QTDIR
+$(error QTDIR not defined in the environment or Makefile)
+endif # QTDIR
+# XXX if /Developer/qt exists and QTDIR not set, use that
+# XXX make sure QTDIR points to something reasonable
+QTCXXFLAGS += -fPIC
+POSTINSTALL+= bdftopcf win/X11/nh10.bdf > $(INSTDIR)/nh10.pcf; \
+ ( cd $(INSTDIR); mkfontdir -x .lev );
+VARDATND0 += nhtiles.bmp rip.xpm nhsplash.xpm
+else
+LINK = $(CC)
+endif # !WANT_WIN_QT
+
+# prevent duplicate tile.o in WINOBJ
+WINOBJ = $(sort $(WINOBJ0))
+# prevent duplicates in VARDATND if both X11 and Qt are being supported
+VARDATND += $(sort $(VARDATND0))
+
+GIT_HASH := $(shell echo `git rev-parse --verify HEAD` 2>&1)
+GIT_BRANCH := $(shell echo `git rev-parse --abbrev-ref HEAD` 2>&1)
+
+ifdef GIT_HASH
+GITHASH = -DNETHACK_GIT_SHA=\"$(GIT_HASH)\"
+endif
+ifdef GIT_BRANCH
+GITBRANCH = -DNETHACK_GIT_BRANCH=\"$(GIT_BRANCH)\"
+endif
+
+ifdef WANT_LIBNH
+CFLAGS += -DSHIM_GRAPHICS -DNOTTYGRAPHICS -DNOSHELL -DLIBNH -fpic
+LIBNHSYSSRC = ../sys/libnh/libnhmain.c \
+ ../sys/share/ioctl.c ../sys/share/unixtty.c \
+ ../sys/unix/unixunix.c ../sys/unix/unixres.c \
+ ../win/shim/winshim.c
+LIBNHSYSOBJ = $(TARGETPFX)libnhmain.o $(TARGETPFX)ioctl.o \
+ $(TARGETPFX)unixtty.o $(TARGETPFX)unixunix.o \
+ $(TARGETPFX)unixres.o $(TARGETPFX)winshim.o \
+ $(TARGETPFX)date.o
+#don't bother building the game executable as it will fail
+#without winshim
+override GAME=
+MOREALL += ( cd src ; $(MAKE) pregame ; $(MAKE) $(TARGETPFX)libnh.a )
+endif # WANT_LIBNH
+
+#PREFIX=/usr
+PREFIX=$(wildcard ~)/nh/install
+HACKDIR=$(PREFIX)/games/lib/$(GAME)dir
+SHELLDIR = $(PREFIX)/games
+INSTDIR=$(HACKDIR)
+VARDIR = $(HACKDIR)
+
+POSTINSTALL+= cp -n sys/unix/sysconf $(INSTDIR)/sysconf; \
+ $(CHOWN) $(GAMEUID) $(INSTDIR)/sysconf; \
+ $(CHGRP) $(GAMEGRP) $(INSTDIR)/sysconf; \
+ chmod $(VARFILEPERM) $(INSTDIR)/sysconf;
+
+ifneq "$(CCISCLANG)" ""
+# gdb may not be installed if clang is chosen compiler so the game
+# won't start in that case due to a sysconf error. Comment out
+# relevant lines in sysconf.
+POSTINSTALL+= sed -i -e 's;^GDBPATH=/usr/bin/gdb;\#GDBPATH=/usr/bin/gdb;' \
+ -e 's;PANICTRACE_GDB=1;PANICTRACE_GDB=0;' $(INSTDIR)/sysconf;
+endif
+
+# when building liblua.a, avoid warning that use of tmpnam() should be
+# replaced by mkstemp(); the lua code doesn't use nethack's config.h so
+# this needs to be passed via make rather than defined in unixconf.h
+SYSCFLAGS=-DLUA_USE_POSIX
+
+# Only needed for GLIBC stack trace:
+LFLAGS=-rdynamic
+
+# if TTY_TILES_ESCCODES
+#WINSRC += tile.c
+#WINOBJ += tile.o
+# endif
+
+CHOWN=true
+CHGRP=true
+
+VARDIRPERM = 0755
+VARFILEPERM = 0600
+GAMEPERM = 0755
+#
+#-INCLUDE cross-amiga-pre
+#
+#-POST
+#
+#-INCLUDE cross-amiga-post
+#
+ifdef WANT_LIBNH
+$(TARGETPFX)libnh.a: $(HOBJ) $(LIBNHSYSOBJ) ../lib/lua/liblua.a
+ $(AR) rcs $@ $(HOBJ) $(LIBNHSYSOBJ) ../lib/lua/liblua.a
+ @echo "$@ built."
+$(TARGETPFX)libnhmain.o : ../sys/libnh/libnhmain.c $(HACK_H)
+ $(CC) $(CFLAGS) -c -o$@ $<
+$(TARGETPFX)winshim.o : ../win/shim/winshim.c $(HACK_H)
+ $(CC) $(CFLAGS) -c -o$@ $<
+endif # WANT_LIBNH
+#
--- /dev/null
+#===============-=================================================
+# NetHack 3.7 include/cross-amiga/post $NHDT-Date: 1597332785 2020/08/13 15:33:05 $ $NHDT-Branch: NetHack-3.7 $
+#
+# Cross-compiling -POST section for Amiga
+
+ifdef CROSS_TO_AMIGA
+$(TARGETPFX)amidos.o : ../outdated/sys/amiga/amidos.c $(HACK_H)
+$(TARGETPFX)amigst.o : ../outdated/sys/amiga/amigst.c $(HACK_H)
+$(TARGETPFX)amirip.o : ../outdated/sys/amiga/amirip.c $(HACK_H)
+$(TARGETPFX)amistack.o : ../outdated/sys/amiga/amistack.c $(HACK_H)
+$(TARGETPFX)amitty.o : ../outdated/sys/amiga/amitty.c $(HACK_H)
+$(TARGETPFX)amiwind.o : ../outdated/sys/amiga/amiwind.c \
+ ../outdated/sys/amiga/amimenu.c $(HACK_H)
+$(TARGETPFX)winami.o : ../outdated/sys/amiga/winami.c $(HACK_H)
+$(TARGETPFX)winchar.o : ../outdated/sys/amiga/winchar.c tile.c $(HACK_H)
+$(TARGETPFX)winfuncs.o : ../outdated/sys/amiga/winfuncs.c $(HACK_H)
+$(TARGETPFX)winkey.o : ../outdated/sys/amiga/winkey.c $(HACK_H)
+$(TARGETPFX)winamenu.o : ../outdated/sys/amiga/winamenu.c $(HACK_H)
+$(TARGETPFX)winreq.o : ../outdated/sys/amiga/winreq.c \
+ ../outdated/sys/amiga/colorwin.c \
+ ../outdated/sys/amiga/clipwin.c $(HACK_H)
+$(TARGETPFX)winstr.o : ../outdated/sys/amiga/winstr.c $(HACK_H)
+$(TARGETPFX)tomb.iff : ../util/xpm2iff ../outdated/sys/amiga/gave16.xpm
+../util/tiletext.o : ../win/share/tiletext.c
+ $(CC) $(CFLAGS) -c \
+ -o $@ ../win/share/tiletext.c
+../util/txt2iff : ../util/txt2iff.o ../util/tiletext.o \
+ ../util/tiletxt.o
+ $(LINK) $(LFLAGS) -L../lib -o $@ ../util/txt2iff.o ../util/tiletext.o \
+ ../util/tiletxt.o -lriffl
+../util/txt2iff.o : ../outdated/sys/amiga/txt2iff.c $(HACK_H)
+ $(CC) $(CFLAGS) -c \
+ -I../lib/riffl-0.2/include \
+ -I/opt/amiga/m68k-amigaos/ndk13-include \
+ -o $@ ../outdated/sys/amiga/txt2iff.c
+../util/xpm2iff : ../util/xpm2iff.o
+ $(LINK) $(LFLAGS) -L../lib -o $@ ../util/txt2iff.o -lriffl
+../util/xpm2iff.o : ../outdated/sys/amiga/xpm2iff.c $(HACK_H)
+ $(CC) $(CFLAGS) -o $@ ../outdated/sys/amiga/xpm2iff.c
+$(TARGETPFX)objects.iff: ../win/share/objects.txt ../util/txt2iff
+ ../util/txt2iff ../win/share/objects.txt $@
+$(TARGETPFX)monsters.iff: ../win/share/monsters.txt ../util/txt2iff
+ ../util/txt2iff ../win/share/monsters.txt $@
+$(TARGETPFX)other.iff: ../win/share/other.txt ../util/txt2iff
+ ../util/txt2iff ../win/share/other.txt $@
+$(GAMEBIN) : $(HOBJ) $(LUACROSSLIB)
+ $(TARGET_LINK) $(TARGET_LFLAGS) -o $(GAMEBIN) \
+ $(HOBJ) $(WINLIB) $(TARGET_LIBS)
+#
+.PHONY: amigapkg
+amigapkg: $(GAMEBIN) $(TARGETPFX)recover.exe ../dat/nhtiles.bmp
+ mkdir -p $(TARGETPFX)pkg
+ cp $(GAMEBIN) $(TARGETPFX)pkg/nethack
+ cp ../dat/nhdat $(TARGETPFX)pkg/nhdat
+ cp ../dat/license $(TARGETPFX)pkg/license
+ cp ../dat/nhtiles.bmp $(TARGETPFX)pkg/nhtiles.bmp
+ cp $(TARGETPFX)tomb.iff $(TARGETPFX)pkg/tomb.iff
+ cp $(TARGETPFX)monsters.iff $(TARGETPFX)pkg/monsters.iff
+ cp $(TARGETPFX)objects.iff $(TARGETPFX)pkg/objects.iff
+ cp $(TARGETPFX)other.iff $(TARGETPFX)pkg/other.iff
+ cp ../dat/symbols $(TARGETPFX)pkg/symbols
+ cp ../sys/share/NetHack.cnf $(TARGETPFX)pkg/nethack.cnf
+ cp ../sys/msdos/sysconf $(TARGETPFX)pkg/sysconf
+ cp ../outdated/sys/amiga/amii.hlp $(TARGETPFX)pkg/amii.hlp
+ cp ../sys/msdos/sysconf $(TARGETPFX)pkg/sysconf
+ cp ../doc/nethack.txt $(TARGETPFX)pkg/nethack.txt
+ ../util/uudecode ../outdated/sys/amiga/amifont8.uu
+ cp 8 $(TARGETPFX)pkg/8
+ ../util/uudecode ../outdated/sys/amiga/amifont.uu
+ cp hack.font $(TARGETPFX)pkg/hack.font
+ ../util/uudecode ../outdated/sys/amiga/dflticon.uu
+ cp default.icon $(TARGETPFX)pkg/default.icon
+ ../util/uudecode ../outdated/sys/amiga/NHinfo.uu
+ cp NetHack.info $(TARGETPFX)pkg/NetHack.info
+ ../util/uudecode ../outdated/sys/amiga/NewGame.uu
+ cp NewGame.info $(TARGETPFX)pkg/NewGame.info
+ ../util/uudecode ../outdated/sys/amiga/HackWB.uu
+ cp HackWB.info $(TARGETPFX)pkg/HackWB.info
+ -touch $(TARGETPFX)pkg/record
+ zip -9 $(TARGETPFX)NH370AMI.ZIP $(TARGETPFX)pkg/*
+ @echo amiga package zip file $(TARGETPFX)NH370AMI.ZIP
+endif # CROSS_TO_AMIGA
+
+ifdef CROSS_TO_AMIGA
+$(TARGETPFX)amidos.o : ../outdated/sys/amiga/amidos.c $(HACK_H)
+$(TARGETPFX)amigst.o : ../outdated/sys/amiga/amigst.c $(HACK_H)
+$(TARGETPFX)amirip.o : ../outdated/sys/amiga/amirip.c $(HACK_H)
+$(TARGETPFX)amistack.o : ../outdated/sys/amiga/amistack.c $(HACK_H)
+$(TARGETPFX)amitty.o : ../outdated/sys/amiga/amitty.c $(HACK_H)
+$(TARGETPFX)amiwind.o : ../outdated/sys/amiga/amiwind.c \
+ ../outdated/sys/amiga/amimenu.c $(HACK_H)
+$(TARGETPFX)winami.o : ../outdated/sys/amiga/winami.c $(HACK_H)
+$(TARGETPFX)winchar.o : ../outdated/sys/amiga/winchar.c tile.c $(HACK_H)
+$(TARGETPFX)winfuncs.o : ../outdated/sys/amiga/winfuncs.c $(HACK_H)
+$(TARGETPFX)winkey.o : ../outdated/sys/amiga/winkey.c $(HACK_H)
+$(TARGETPFX)winamenu.o : ../outdated/sys/amiga/winamenu.c $(HACK_H)
+$(TARGETPFX)winreq.o : ../outdated/sys/amiga/winreq.c \
+ ../outdated/sys/amiga/colorwin.c \
+ ../outdated/sys/amiga/clipwin.c $(HACK_H)
+$(TARGETPFX)winstr.o : ../outdated/sys/amiga/winstr.c $(HACK_H)
+$(TARGETPFX)tomb.iff : ../util/xpm2iff ../outdated/sys/amiga/gave16.xpm
+../util/tiletext.o : ../win/share/tiletext.c
+ $(CC) $(CFLAGS) -c \
+ -o $@ ../win/share/tiletext.c
+../util/txt2iff : ../util/txt2iff.o ../util/tiletext.o \
+ ../util/tiletxt.o
+ $(LINK) $(LFLAGS) -L../lib -o $@ ../util/txt2iff.o ../util/tiletext.o \
+ ../util/tiletxt.o -lriffl
+../util/txt2iff.o : ../outdated/sys/amiga/txt2iff.c $(HACK_H)
+ $(CC) $(CFLAGS) -c \
+ -I../lib/riffl-0.2/include \
+ -I/opt/amiga/m68k-amigaos/ndk13-include \
+ -o $@ ../outdated/sys/amiga/txt2iff.c
+../util/xpm2iff : ../util/xpm2iff.o
+ $(LINK) $(LFLAGS) -L../lib -o $@ ../util/txt2iff.o -lriffl
+../util/xpm2iff.o : ../outdated/sys/amiga/xpm2iff.c $(HACK_H)
+ $(CC) $(CFLAGS) -o $@ ../outdated/sys/amiga/xpm2iff.c
+$(TARGETPFX)objects.iff: ../win/share/objects.txt ../util/txt2iff
+ ../util/txt2iff ../win/share/objects.txt $@
+$(TARGETPFX)monsters.iff: ../win/share/monsters.txt ../util/txt2iff
+ ../util/txt2iff ../win/share/monsters.txt $@
+$(TARGETPFX)other.iff: ../win/share/other.txt ../util/txt2iff
+ ../util/txt2iff ../win/share/other.txt $@
+$(GAMEBIN) : $(HOBJ) $(LUACROSSLIB)
+ $(TARGET_LINK) $(TARGET_LFLAGS) -o $(GAMEBIN) \
+ $(HOBJ) $(WINLIB) $(TARGET_LIBS)
+#
+.PHONY: amigapkg
+amigapkg: $(GAMEBIN) $(TARGETPFX)recover.exe ../dat/nhtiles.bmp
+ mkdir -p $(TARGETPFX)pkg
+ cp $(GAMEBIN) $(TARGETPFX)pkg/nethack
+ cp ../dat/nhdat $(TARGETPFX)pkg/nhdat
+ cp ../dat/license $(TARGETPFX)pkg/license
+ cp ../dat/nhtiles.bmp $(TARGETPFX)pkg/nhtiles.bmp
+ cp $(TARGETPFX)tomb.iff $(TARGETPFX)pkg/tomb.iff
+ cp $(TARGETPFX)monsters.iff $(TARGETPFX)pkg/monsters.iff
+ cp $(TARGETPFX)objects.iff $(TARGETPFX)pkg/objects.iff
+ cp $(TARGETPFX)other.iff $(TARGETPFX)pkg/other.iff
+ cp ../dat/symbols $(TARGETPFX)pkg/symbols
+ cp ../sys/share/NetHack.cnf $(TARGETPFX)pkg/nethack.cnf
+ cp ../sys/msdos/sysconf $(TARGETPFX)pkg/sysconf
+ cp ../outdated/sys/amiga/amii.hlp $(TARGETPFX)pkg/amii.hlp
+ cp ../sys/msdos/sysconf $(TARGETPFX)pkg/sysconf
+ cp ../doc/nethack.txt $(TARGETPFX)pkg/nethack.txt
+ ../util/uudecode ../outdated/sys/amiga/amifont8.uu
+ cp 8 $(TARGETPFX)pkg/8
+ ../util/uudecode ../outdated/sys/amiga/amifont.uu
+ cp hack.font $(TARGETPFX)pkg/hack.font
+ ../util/uudecode ../outdated/sys/amiga/dflticon.uu
+ cp default.icon $(TARGETPFX)pkg/default.icon
+ ../util/uudecode ../outdated/sys/amiga/NHinfo.uu
+ cp NetHack.info $(TARGETPFX)pkg/NetHack.info
+ ../util/uudecode ../outdated/sys/amiga/NewGame.uu
+ cp NewGame.info $(TARGETPFX)pkg/NewGame.info
+ ../util/uudecode ../outdated/sys/amiga/HackWB.uu
+ cp HackWB.info $(TARGETPFX)pkg/HackWB.info
+ -touch $(TARGETPFX)pkg/record
+ zip -9 $(TARGETPFX)NH370AMI.ZIP $(TARGETPFX)pkg/*
+ @echo amiga package zip file $(TARGETPFX)NH370AMI.ZIP
+endif # CROSS_TO_AMIGA
+
+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 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_PDCURSES
+ifdef WANT_WIN_CURSES
+$(TARGETPFX)pdclib.a : $(PDCLIBOBJS) $(PDCOBJS)
+ if [ -f $@ ]; then rm $@; fi;
+ $(TARGET_AR) rcs $@ $(PDCLIBOBJS) $(PDCOBJS)
+endif
+# 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 : $(PDCTOP)/dos/pdcclip.c
+$(TARGETPFX)pdcdisp.o : $(PDCTOP)/dos/pdcdisp.c
+$(TARGETPFX)pdcgetsc.o : $(PDCTOP)/dos/pdcgetsc.c
+$(TARGETPFX)pdckbd.o : $(PDCTOP)/dos/pdckbd.c
+$(TARGETPFX)pdcscrn.o : $(PDCTOP)/dos/pdcscrn.c
+$(TARGETPFX)pdcsetsc.o : $(PDCTOP)/dos/pdcsetsc.c
+$(TARGETPFX)pdcutil.o : $(PDCTOP)/dos/pdcutil.c
+endif # BUILD_PDCURSES
+#
+# End of cross-compiling -POST section for Amiga
+#===============-=================================================
+
+
--- /dev/null
+#===============-=================================================
+# NetHack 3.7 include/cross-amiga-pre
+#
+# Cross-compiling -PRE section for amiga
+#
+
+CROSS=1
+CROSS_TO_AMIGA=1
+BUILD_TARGET_LUA=1
+BUILD_PDCURSES=1
+CROSS_SHARED=1
+override TARGET = amiga
+override TARGETDIR=../targets/$(TARGET)
+override TARGETPFX = $(TARGETDIR)/
+override TARGET_LIBS=
+
+ifdef CROSS
+override PREGAME=
+override BUILDMORE=
+override CLEANMORE=
+override PACKAGE=
+endif
+
+ifdef BUILD_TARGET_LUA
+#===============-=================================================
+# LUA library
+# Source from http://www.lua.org/ftp/lua-5.4.4.tar.gz
+#=================================================================
+LUA_VERSION ?=5.4.4
+LUATOP ?= ../lib/lua-$(LUA_VERSION)
+LUASRCDIR ?= $(LUATOP)/src
+LUAOBJFILES1 = $(TARGETPFX)lapi.o $(TARGETPFX)lauxlib.o \
+ $(TARGETPFX)lbaselib.o $(TARGETPFX)lcode.o \
+ $(TARGETPFX)lcorolib.o $(TARGETPFX)lctype.o \
+ $(TARGETPFX)ldblib.o
+ifeq "$(LUA_VERSION)" "5.3.5"
+LUAOBJFILES1 += $(TARGETPFX)lbitlib.o
+endif
+LUAOBJFILES2 = $(TARGETPFX)ldebug.o $(TARGETPFX)ldo.o $(TARGETPFX)ldump.o \
+ $(TARGETPFX)lfunc.o $(TARGETPFX)lgc.o $(TARGETPFX)linit.o \
+ $(TARGETPFX)liolib.o $(TARGETPFX)llex.o
+LUAOBJFILES3 = $(TARGETPFX)lmathlib.o $(TARGETPFX)lmem.o \
+ $(TARGETPFX)loadlib.o $(TARGETPFX)lobject.o \
+ $(TARGETPFX)lopcodes.o $(TARGETPFX)loslib.o \
+ $(TARGETPFX)lparser.o $(TARGETPFX)lstate.o
+LUAOBJFILES4 = $(TARGETPFX)lstring.o $(TARGETPFX)lstrlib.o \
+ $(TARGETPFX)ltable.o $(TARGETPFX)ltablib.o \
+ $(TARGETPFX)ltm.o $(TARGETPFX)lundump.o \
+ $(TARGETPFX)lutf8lib.o $(TARGETPFX)lvm.o $(TARGETPFX)lzio.o
+LUALIBOBJS = $(LUAOBJFILES1) $(LUAOBJFILES2) $(LUAOBJFILES3) $(LUAOBJFILES4)
+LUACROSSLIB = $(TARGETPFX)lua$(subst .,,$(LUA_VERSION)).a
+LUAINCL = -I$(LUASRCDIR)
+override BUILDMORE += $(LUACROSSLIB)
+override CLEANMORE += rm -f $(LUACROSSLIB) ;
+override TARGET_LIBS += $(LUACROSSLIB) -lm
+else
+LUAINCL=
+endif # BUILD_TARGET_LUA
+
+ifdef BUILD_PDCURSES
+#===============-=================================================
+# PD Curses library
+#===============-=================================================
+ifdef WANT_WIN_CURSES
+PDCTOP = ../lib/pdcurses
+PDCURSESDEF= -I../lib/pdcurses -I../lib/pdcurses/dos \
+ -D"CURSES_GRAPHICS" -D"CURSES_BRIEF_INCLUDE"
+PDCLIBOBJ1= $(TARGETPFX)addch.o $(TARGETPFX)addchstr.o \
+ $(TARGETPFX)addstr.o $(TARGETPFX)attr.o \
+ $(TARGETPFX)beep.o $(TARGETPFX)bkgd.o \
+ $(TARGETPFX)border.o $(TARGETPFX)clear.o \
+ $(TARGETPFX)color.o $(TARGETPFX)delch.o \
+ $(TARGETPFX)deleteln.o $(TARGETPFX)getch.o \
+ $(TARGETPFX)getstr.o $(TARGETPFX)getyx.o \
+ $(TARGETPFX)inch.o
+PDCLIBOBJ2= $(TARGETPFX)inchstr.o $(TARGETPFX)initscr.o \
+ $(TARGETPFX)inopts.o $(TARGETPFX)insch.o \
+ $(TARGETPFX)insstr.o $(TARGETPFX)instr.o \
+ $(TARGETPFX)kernel.o $(TARGETPFX)keyname.o \
+ $(TARGETPFX)mouse.o $(TARGETPFX)move.o \
+ $(TARGETPFX)outopts.o $(TARGETPFX)overlay.o
+PDCLIBOBJ3= $(TARGETPFX)pad.o $(TARGETPFX)panel.o $(TARGETPFX)printw.o \
+ $(TARGETPFX)refresh.o $(TARGETPFX)scanw.o \
+ $(TARGETPFX)scr_dump.o $(TARGETPFX)scroll.o \
+ $(TARGETPFX)slk.o $(TARGETPFX)termattr.o
+PDCLIBOBJ4= $(TARGETPFX)touch.o $(TARGETPFX)util.o $(TARGETPFX)window.o \
+ $(TARGETPFX)debug.o
+PDCLIBOBJS = $(PDCLIBOBJ1) $(PDCLIBOBJ2) $(PDCLIBOBJ3) $(PDCLIBOBJ4)
+PDCLIB = $(TARGETPFX)pdclib.a
+PDCINCL = -I$(PDCTOP) -I$(PDCTOP)/pdcurses
+PDCOBJS = $(TARGETPFX)pdcclip.o $(TARGETPFX)pdcdisp.o \
+ $(TARGETPFX)pdcgetsc.o $(TARGETPFX)pdckbd.o \
+ $(TARGETPFX)pdcscrn.o $(TARGETPFX)pdcsetsc.o \
+ $(TARGETPFX)pdcutil.o
+override TARGET_LIBS += $(PDCLIB)
+ifdef CROSS_TO_MSDOS
+endif
+override BUILDMORE += $(PDCLIB)
+override CLEANMORE += rm -f $(PDCLIB) ;
+else #WANT_WIN_CURSES
+PDCURSESDEF=
+PDCLIBOBJS=
+PDCOBJS=
+PDCLIB=
+PDCINCL=
+endif # WANT_WIN_CURSES
+endif # BUILD_PDCURSES
+
+ifdef CROSS_TO_AMIGA
+#===============-=================================================
+# AmigaOS m68k cross-compile recipe
+#===============-=================================================
+# Uses an Amiga M68K cross-compiler on linux or macOS.
+#
+# 1. You can obtain the cross-compiler for your system via:
+# sys/amiga/fetch-cross.sh
+# 2. Then
+# make CROSS_TO_AMIGAOS=1 WANT_WIN_TTY=1 WANT_WIN_CURSES=1 all
+#
+# Amiga m68k from https://github.com/bebbo/amiga-gcc
+#=================================================================
+
+CFLAGS += -DCROSSCOMPILE
+
+#
+# Override the build tools and some obj files to
+# reflect the amiga-gccs cross-compiler.
+#
+TOOLTOP = /opt/amiga/bin
+#TOOLARCH = -m68020 -mcrt=clib2
+#TOOLARCH = -m68020 #newlib
+TOOLARCH = -m68020 -noixemul
+override REGEXOBJ = $(TARGETPFX)cppregex.o
+override TARGET_CC = $(TOOLTOP)/m68k-amigaos-gcc
+override TARGET_CXX = $(TOOLTOP)/m68k-amigaos-c++
+override TARGET_AR = $(TOOLTOP)/m68k-amigaos-ar
+override TARGET_STUBEDIT=
+#override TARGET_CFLAGS = -c -O $(TOOLARCH) -I../include -I../outdated/include
+override TARGET_CFLAGS = -c -O $(TOOLARCH) \
+ -I../include -I../outdated/include \
+ -I../outdated/sys/amiga -I../win/share \
+ $(LUAINCL) -DAMIGA -DUSE_TILES $(PDCURSESDEF) \
+ -DCROSSCOMPILE -DCROSSCOMPILE_TARGET -DCROSS_TO_AMIGA \
+ -DAMIGA_VERSION_STRING=\""VER: NetHack 3.7.0\""
+# -DMICRO -DPATHLEN=31 -DFILENAME=80
+override TARGET_CXXFLAGS = $(TARGET_CFLAGS)
+ifeq "$(REGEXOBJ)" "$(TARGETPFX)cppregex.o"
+override TARGET_LINK = $(TARGET_CXX)
+else
+override TARGET_LINK = $(TARGET_CC)
+endif
+override TARGET_LFLAGS= $(TOOLARCH)
+#override TARGET_LIBS +=
+VARDATND += nhtiles.bmp
+override SYSSRC = ../outdated/sys/amiga/amidos.c ../outdated/sys/amiga/amigst.c \
+ ../outdated/sys/amiga/amimenu.c ../outdated/sys/amiga/amirip.c \
+ ../outdated/sys/amiga/amistack.c ../outdated/sys/amiga/amitty.c \
+ ../outdated/sys/amiga/amiwind.c ../outdated/sys/amiga/clipwin.c \
+ ../outdated/sys/amiga/colorwin.c \
+ ../outdated/sys/amiga/winami.c ../outdated/sys/amiga/winchar.c \
+ ../outdated/sys/amiga/winfuncs.c ../outdated/sys/amiga/winkey.c \
+ ../outdated/sys/amiga/winamenu.c ../outdated/sys/amiga/winreq.c \
+ ../outdated/sys/amiga/winstr.c ../sys/share/pcmain.c \
+ ../win/share/bmptiles.c ../win/share/giftiles.c \
+ ../win/share/tileset.c
+# ../outdated/sys/amiga/xpm2iff.c
+# ../outdated/sys/amiga/txt2iff.c
+override SYSOBJ = $(TARGETPFX)amidos.o $(TARGETPFX)amigst.o \
+ $(TARGETPFX)amirip.o $(TARGETPFX)amistack.o \
+ $(TARGETPFX)amitty.o $(TARGETPFX)amiwind.o \
+ $(TARGETPFX)winami.o $(TARGETPFX)winchar.o \
+ $(TARGETPFX)winfuncs.o $(TARGETPFX)winkey.o \
+ $(TARGETPFX)winamenu.o $(TARGETPFX)winreq.o \
+ $(TARGETPFX)winstr.o $(TARGETPFX)pcmain.o \
+ $(TARGETPFX)bmptiles.o $(TARGETPFX)giftiles.o \
+ $(TARGETPFX)tileset.o
+# $(TARGETPFX)xpm2iff.o
+# ../util/txt2iff.o
+override WINLIB=
+override LUALIB=
+override TOPLUALIB=
+override GAMEBIN = $(TARGETPFX)nethack
+override PACKAGE = amigapkg
+override PREGAME += mkdir -p $(TARGETDIR) ;
+override CLEANMORE += rm -r $(TARGETDIR) ;
+# ../util/txt2iff
+#
+ifdef WANT_WIN_CURSES
+# rules for pdcurses sdl1-specific files
+$(TARGETPFX)%.o : $(PDCTOP)/sdl1/%.c
+ $(TARGET_CC) $(PDCINCL) $(TARGET_CFLAGS) -o$@ $<
+endif # WANT_WIN_CURSES
+# Rule for files in sys/amiga
+$(TARGETPFX)%.o : ../outdated/sys/amiga/%.c
+ $(TARGET_CC) $(TARGET_CFLAGS) -o$@ $<
+endif # CROSS_TO_AMIGA
+#=================================================================
+
+ifdef WANT_WIN_CURSES
+ifdef BUILD_PDCURSES
+# Rules for PDCurses files
+$(TARGETPFX)%.o : $(PDCTOP)/pdcurses/%.c
+ $(TARGET_CC) $(PDCINCL) $(PDC_TARGET_CFLAGS) -c -o$@ $<
+endif # BUILD_PDCURSES
+endif # WANT_WIN_CURSES
+
+ifdef CROSS_SHARED
+# Rules for win/share files
+$(TARGETPFX)%.o : ../win/share/%.c
+ $(TARGET_CC) $(TARGET_CFLAGS) -c -o$@ $<
+# Rules for util files heading for target
+$(TARGETPFX)%.o : ../util/%.c
+ $(TARGET_CC) $(TARGET_CFLAGS) -c -o$@ $<
+endif # CROSS_SHARED
+
+ifdef BUILD_TARGET_LUA
+# Rule for LUA files
+$(TARGETPFX)%.o : $(LUATOP)/src/%.c
+ $(TARGET_CC) $(LUA_TARGET_CFLAGS) -c $(LUA_FLAGS) -o$@ $<
+endif # BUILD_TARGET_LUA
+#
+# End of cross-compiling -PRE section for Amiga
+#===============-=================================================
+