Merge branch 'amiga' into NetHack-3.7
This commit is contained in:
@@ -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 */
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
40
outdated/sys/unix/cross-amiga.sh
Normal file
40
outdated/sys/unix/cross-amiga.sh
Normal file
@@ -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
|
||||
275
outdated/sys/unix/hints/cross-amiga
Normal file
275
outdated/sys/unix/hints/cross-amiga
Normal file
@@ -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 <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
|
||||
#
|
||||
282
outdated/sys/unix/hints/include/cross-amiga-post
Normal file
282
outdated/sys/unix/hints/include/cross-amiga-post
Normal file
@@ -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
|
||||
#===============-=================================================
|
||||
|
||||
|
||||
224
outdated/sys/unix/hints/include/cross-amiga-pre
Normal file
224
outdated/sys/unix/hints/include/cross-amiga-pre
Normal file
@@ -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
|
||||
#===============-=================================================
|
||||
|
||||
Reference in New Issue
Block a user