diff --git a/outdated/sys/amiga/amidos.c b/outdated/sys/amiga/amidos.c index 402e29535..7acce202e 100644 --- a/outdated/sys/amiga/amidos.c +++ b/outdated/sys/amiga/amidos.c @@ -42,6 +42,7 @@ 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 */ diff --git a/outdated/sys/amiga/winchar.c b/outdated/sys/amiga/winchar.c index 9fb0508dc..222d7952a 100644 --- a/outdated/sys/amiga/winchar.c +++ b/outdated/sys/amiga/winchar.c @@ -63,6 +63,13 @@ void MyFreeBitMap(struct BitMap *bmp); 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 * @@ -895,9 +902,12 @@ SetMazeType(MazeType t) 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 diff --git a/outdated/sys/amiga/winfuncs.c b/outdated/sys/amiga/winfuncs.c index dfbae4312..eda6bd006 100644 --- a/outdated/sys/amiga/winfuncs.c +++ b/outdated/sys/amiga/winfuncs.c @@ -2002,8 +2002,14 @@ if(u.uz.dlevel != x){ } 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); diff --git a/outdated/sys/unix/cross-amiga.sh b/outdated/sys/unix/cross-amiga.sh new file mode 100644 index 000000000..397ffb33a --- /dev/null +++ b/outdated/sys/unix/cross-amiga.sh @@ -0,0 +1,40 @@ +#!/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 diff --git a/outdated/sys/unix/hints/cross-amiga b/outdated/sys/unix/hints/cross-amiga new file mode 100644 index 000000000..ac66b6046 --- /dev/null +++ b/outdated/sys/unix/hints/cross-amiga @@ -0,0 +1,275 @@ +# 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 +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 +# diff --git a/outdated/sys/unix/hints/include/cross-amiga-post b/outdated/sys/unix/hints/include/cross-amiga-post new file mode 100644 index 000000000..52d8b542c --- /dev/null +++ b/outdated/sys/unix/hints/include/cross-amiga-post @@ -0,0 +1,282 @@ +#===============-================================================= +# 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 +#===============-================================================= + + diff --git a/outdated/sys/unix/hints/include/cross-amiga-pre b/outdated/sys/unix/hints/include/cross-amiga-pre new file mode 100644 index 000000000..95e1af165 --- /dev/null +++ b/outdated/sys/unix/hints/include/cross-amiga-pre @@ -0,0 +1,224 @@ +#===============-================================================= +# 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 +#===============-================================================= +