# Makefile to use with the SAS/C compiler

# This is the master makefile for Amiga feeeciv port. Start with this one,
# when using another compiler. Normally it is not necessary to modify any
# stuff below the marked line. If your compiler does not support objectfile list
# file, see vmakefile. This one uses patterns, but this does not work for SAS-C
# compiler.

# How to tell the compiler the destination of object files
TO  = OBJNAME=
# How to tell the compiler include directories
INC = IDIR=
# How to tell the compiler new defines
DEF = DEFINE=

##### these lines may be changed according to your system setup
##### set a # mark AFTER the = to ignore that settings

# Where to put the whole installation (prepared for the
# distribution archive)
DESTDIR = Development:Projects/freeciv

# the destination CPU and math type
CPU_MATH = MATH=IEEE LIB LIB:scmieee.lib
#CPU_MATH = CPU=68060 LIB LIB:scm.lib

# comment out, if using AmiTCP
TCPSDK = #AmiTCP SDK (no define for this one!)
#TCPSDK = ${DEF}MIAMI_SDK # the miami SDK

# comment, if not debugging, disabled by default
DEBFLAGS = #LIB LIB:debug.lib DEBUG=LINE NOSTRIPDEBUG WARN=ALL IGNORE=61,63,120,148,165,178,212
# disabled warning types:
# (in includes)   61 - undefined struct/union tag "tag-name"
# (GCC)           63 - item "name" already declared
#                120 - Integral type mismatch: possible portability problem
# (in includes)  148 - use of incomplete struct/union/enum tag "name"
#                165 - use of narrow type in prototype
# (old style C)  178 - indirect call without indirection operator
# (GCC)          212 - item "name" already declared

# The optimize flags, set the comment mark, where you want. The options at the end
# need much more time. Disabled by default.
OPTFLAGS = ${DEF}NDEBUG #OPT OPTTIME IGNORE=306 OPTINLOCAL OPTPEEP OPTGO OPTLOOP OPTSCHED

# Additional include directory (e.g. TCP includes)
INCDIRS = #use this, if you have none
#INCDIRS = ${INC}Sprachen:Include/include_h_AmiTCP # SDI's directories

#####
#####

# The name of the compiler
CC = sc

# Where to find the source files
FREECIV_DIR = /

# In which subdirectory should the object files be placed (without /)
OBJDIR1 = sas_68k

# Additional flags
CCFLAGS = RESOPT ANSI IDLEN=40 NOLINK DATA=FAR NOSTKCHK IGNORE=63 NOVERSION\
${DEF}HAVE_CONFIG_H ${DEBFLAGS} ${OPTFLAGS} ${CPU_MATH} ${TCPSDK}

# Additional linker flags
LNFLAGS0 = RESOPT LINK STRIPDEBUG ${DEBFLAGS} ${CPU_MATH} LINK NOICONS NOVERSION TO
LNFLAGS1 = WITH

####################################################################
##### Any stuff after this line should be compiler independant #####
####################################################################

OBJDIR  = ${OBJDIR1}/

COMMONOBJS = ${OBJDIR}common/astring.o ${OBJDIR}common/capability.o ${OBJDIR}common/capstr.o \
 ${OBJDIR}common/city.o ${OBJDIR}common/combat.o ${OBJDIR}common/connection.o \
 ${OBJDIR}common/diptreaty.o ${OBJDIR}common/fcintl.o \
 ${OBJDIR}common/game.o ${OBJDIR}common/genlist.o ${OBJDIR}common/government.o ${OBJDIR}common/hash.o \
 ${OBJDIR}common/idex.o ${OBJDIR}common/improvement.o ${OBJDIR}common/inputfile.o ${OBJDIR}common/ioz.o \
 ${OBJDIR}common/log.o \
 ${OBJDIR}common/map.o ${OBJDIR}common/nation.o ${OBJDIR}common/packets.o ${OBJDIR}common/packets_lsend.o \
 ${OBJDIR}common/player.o ${OBJDIR}common/mem.o \
 ${OBJDIR}common/netintf.o ${OBJDIR}common/rand.o ${OBJDIR}common/registry.o ${OBJDIR}common/sbuffer.o \
 ${OBJDIR}common/shared.o ${OBJDIR}common/spaceship.o ${OBJDIR}common/support.o ${OBJDIR}common/tech.o \
 ${OBJDIR}common/timing.o ${OBJDIR}common/unit.o ${OBJDIR}common/unittype.o ${OBJDIR}common/version.o \
 ${OBJDIR}common/worklist.o
COMMONDIRS = ${INC}`cd` ${INCDIRS} ${INC}${FREECIV_DIR}common

AIOBJS = ${OBJDIR}ai/advattitude.o ${OBJDIR}ai/advdomestic.o ${OBJDIR}ai/advforeign.o \
 ${OBJDIR}ai/advisland.o ${OBJDIR}ai/advleader.o ${OBJDIR}ai/advmilitary.o ${OBJDIR}ai/advscience.o \
 ${OBJDIR}ai/advspace.o ${OBJDIR}ai/advtrade.o ${OBJDIR}ai/aicity.o ${OBJDIR}ai/aihand.o \
 ${OBJDIR}ai/aitech.o ${OBJDIR}ai/aitools.o ${OBJDIR}ai/aiunit.o
AIDIRS = ${INC}`cd` ${INCDIRS} ${INC}${FREECIV_DIR}common ${INC}${FREECIV_DIR}server

SERVEROBJS = ${OBJDIR}server/autoattack.o ${OBJDIR}server/barbarian.o ${OBJDIR}server/cityhand.o \
 ${OBJDIR}server/citytools.o ${OBJDIR}server/cityturn.o ${OBJDIR}server/civserver.o \
 ${OBJDIR}server/console.o ${OBJDIR}server/diplhand.o ${OBJDIR}server/diplomats.o ${OBJDIR}server/gamehand.o \
 ${OBJDIR}server/gamelog.o ${OBJDIR}server/gotohand.o ${OBJDIR}server/handchat.o \
 ${OBJDIR}server/mapgen.o ${OBJDIR}server/maphand.o ${OBJDIR}server/meta.o \
 ${OBJDIR}server/plrhand.o ${OBJDIR}server/report.o ${OBJDIR}server/ruleset.o \
 ${OBJDIR}server/rulesout.o ${OBJDIR}server/sanitycheck.o ${OBJDIR}server/savegame.o ${OBJDIR}server/sernet.o \
 ${OBJDIR}server/settlers.o ${OBJDIR}server/spacerace.o ${OBJDIR}server/srv_main.o ${OBJDIR}server/stdinhand.o \
 ${OBJDIR}server/unithand.o ${OBJDIR}server/unittools.o
SERVERDIRS = ${INC}`cd` ${INCDIRS} ${INC}${FREECIV_DIR}server ${INC}${FREECIV_DIR}common ${INC}${FREECIV_DIR}ai

AMIGASERVEROBJS = ${OBJDIR}amigaserver.o

CLIENTOBJS = ${OBJDIR}client/cityrepdata.o ${OBJDIR}client/civclient.o ${OBJDIR}client/climisc.o \
 ${OBJDIR}client/clinet.o ${OBJDIR}client/control.o ${OBJDIR}client/goto.o ${OBJDIR}client/helpdata.o \
 ${OBJDIR}client/options.o ${OBJDIR}client/packhand.o ${OBJDIR}client/tilespec.o
CLIENTDIRS = ${INC}`cd` ${INCDIRS} ${INC}${FREECIV_DIR}client ${INC}${FREECIV_DIR}common \
 ${INC}${FREECIV_DIR}client/include

CGP = ${FREECIV_DIR}client/gui-mui/
CLIENTGUIOBJS = ${OBJDIR}client/gui-mui/chatline.o ${OBJDIR}client/gui-mui/citydlg.o \
 ${OBJDIR}client/gui-mui/cityrep.o ${OBJDIR}client/gui-mui/colors.o \
 ${OBJDIR}client/gui-mui/connectdlg.o ${OBJDIR}client/gui-mui/dialogs.o \
 ${OBJDIR}client/gui-mui/diplodlg.o ${OBJDIR}client/gui-mui/finddlg.o \
 ${OBJDIR}client/gui-mui/gamedlgs.o ${OBJDIR}client/gui-mui/gotodlg.o \
 ${OBJDIR}client/gui-mui/graphics.o \
 ${OBJDIR}client/gui-mui/gui_main.o ${OBJDIR}client/gui-mui/helpdlg.o \
 ${OBJDIR}client/gui-mui/inputdlg.o ${OBJDIR}client/gui-mui/inteldlg.o \
 ${OBJDIR}client/gui-mui/mapctrl.o ${OBJDIR}client/gui-mui/mapview.o \
 ${OBJDIR}client/gui-mui/messagedlg.o ${OBJDIR}client/gui-mui/messagewin.o \
 ${OBJDIR}client/gui-mui/plrdlg.o ${OBJDIR}client/gui-mui/repodlgs.o \
 ${OBJDIR}client/gui-mui/spaceshipdlg.o ${OBJDIR}client/gui-mui/wldlg.o \
 ${OBJDIR}client/gui-mui/muistuff.o \
 ${OBJDIR}client/gui-mui/autogroupclass.o \
 ${OBJDIR}client/gui-mui/colortextclass.o \
 ${OBJDIR}client/gui-mui/historystringclass.o \
 ${OBJDIR}client/gui-mui/mapclass.o \
 ${OBJDIR}client/gui-mui/objecttreeclass.o \
 ${OBJDIR}client/gui-mui/overviewclass.o \
 ${OBJDIR}client/gui-mui/scrollbuttonclass.o \
 ${OBJDIR}client/gui-mui/transparentstringclass.o \
 ${OBJDIR}client/gui-mui/worklistclass.o
CLIENTGUIDIRS  = ${INC}`cd` ${INCDIRS} ${INC}${FREECIV_DIR}common ${INC}${FREECIV_DIR}client/include \
 ${INC}${FREECIV_DIR}client

AMIGACLIENTOBJS = ${OBJDIR}amigaclient.o

LOCALEDIR = locale/
LOCALEOBJS = ${LOCALEDIR}de.mo ${LOCALEDIR}en_GB.mo ${LOCALEDIR}es.mo \
 ${LOCALEDIR}fr.mo ${LOCALEDIR}hu.mo ${LOCALEDIR}ja.mo ${LOCALEDIR}nl.mo \
 ${LOCALEDIR}no.mo ${LOCALEDIR}pl.mo ${LOCALEDIR}pt.mo ${LOCALEDIR}pt_BR.mo \
 ${LOCALEDIR}ru.mo ${LOCALEDIR}sv.mo

All: dirs civserver civclient

#
# Create directories where the object files a placed
#

dirs:
  execute <<

if not exists ${LOCALEDIR}
  makedir ${LOCALEDIR}
endif

if not exists ${OBJDIR1}
  makedir ${OBJDIR1}
endif

if not exists ${OBJDIR}ai
  makedir ${OBJDIR}ai
endif

if not exists ${OBJDIR}common
  makedir ${OBJDIR}common
endif

if not exists ${OBJDIR}server
  makedir ${OBJDIR}server
endif

if not exists ${OBJDIR}client
  makedir ${OBJDIR}client
endif

if not exists ${OBJDIR}client/gui-mui
  makedir ${OBJDIR}client/gui-mui
endif
<

# Amiga server creation
civserver: ${AMIGASERVEROBJS} ${AIOBJS} ${COMMONOBJS} ${SERVEROBJS} ${OBJDIR}gettext.o ${OBJDIR}vsnprintf.o
  ${CC} ${LNFLAGS0} $@ ${LNFLAGS1} <<
${AMIGASERVEROBJS} ${AIOBJS} ${COMMONOBJS} ${SERVEROBJS} ${OBJDIR}gettext.o ${OBJDIR}vsnprintf.o
<

${OBJDIR}amigaserver.o: amigaserver.c
  ${CC} ${CCFLAGS} amigaserver.c ${INCDIRS} $(INC)${FREECIV_DIR}common ${TO}$@

# Amiga client creation
civclient: ${AMIGACLIENTOBJS} ${COMMONOBJS} ${CLIENTOBJS} ${CLIENTGUIOBJS} ${OBJDIR}gettext.o ${OBJDIR}vsnprintf.o
  ${CC} ${LNFLAGS0} $@ ${LNFLAGS1} <<
${AMIGACLIENTOBJS} ${COMMONOBJS} ${CLIENTOBJS} ${CLIENTGUIOBJS} ${OBJDIR}gettext.o ${OBJDIR}vsnprintf.o
<

${OBJDIR}amigaclient.o: amigaclient.c
  ${CC} ${CCFLAGS} amigaclient.c ${INCDIRS} ${TO}$@

# gettext file

${OBJDIR}gettext.o: gettext.c
  ${CC} ${CCFLAGS} gettext.c ${INCDIRS} ${TO}$@

# vsnprintf file

${OBJDIR}vsnprintf.o: vsnprintf.c
  ${CC} ${CCFLAGS} vsnprintf.c ${INCDIRS} ${TO}$@

# AI Files

${OBJDIR}ai/advattitude.o: ${FREECIV_DIR}ai/advattitude.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}ai/advattitude.c ${AIDIRS} ${TO}$@

${OBJDIR}ai/advdomestic.o: ${FREECIV_DIR}ai/advdomestic.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}ai/advdomestic.c ${AIDIRS} ${TO}$@

${OBJDIR}ai/advforeign.o: ${FREECIV_DIR}ai/advforeign.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}ai/advforeign.c ${AIDIRS} ${TO}$@

${OBJDIR}ai/advisland.o: ${FREECIV_DIR}ai/advisland.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}ai/advisland.c ${AIDIRS} ${TO}$@

${OBJDIR}ai/advleader.o: ${FREECIV_DIR}ai/advleader.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}ai/advleader.c ${AIDIRS} ${TO}$@

${OBJDIR}ai/advmilitary.o: ${FREECIV_DIR}ai/advmilitary.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}ai/advmilitary.c ${AIDIRS} ${TO}$@

${OBJDIR}ai/advscience.o: ${FREECIV_DIR}ai/advscience.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}ai/advscience.c ${AIDIRS} ${TO}$@

${OBJDIR}ai/advspace.o: ${FREECIV_DIR}ai/advspace.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}ai/advspace.c ${AIDIRS} ${TO}$@

${OBJDIR}ai/advtrade.o: ${FREECIV_DIR}ai/advtrade.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}ai/advtrade.c ${AIDIRS} ${TO}$@

${OBJDIR}ai/aicity.o: ${FREECIV_DIR}ai/aicity.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}ai/aicity.c ${AIDIRS} ${TO}$@

${OBJDIR}ai/aihand.o: ${FREECIV_DIR}ai/aihand.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}ai/aihand.c ${AIDIRS} ${TO}$@

${OBJDIR}ai/aitech.o: ${FREECIV_DIR}ai/aitech.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}ai/aitech.c ${AIDIRS} ${TO}$@

${OBJDIR}ai/aitools.o: ${FREECIV_DIR}ai/aitools.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}ai/aitools.c ${AIDIRS} ${TO}$@

${OBJDIR}ai/aiunit.o: ${FREECIV_DIR}ai/aiunit.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}ai/aiunit.c ${AIDIRS} ${TO}$@

# Common Files

${OBJDIR}common/astring.o: ${FREECIV_DIR}common/astring.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/astring.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/capability.o: ${FREECIV_DIR}common/capability.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/capability.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/capstr.o: ${FREECIV_DIR}common/capstr.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/capstr.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/city.o: ${FREECIV_DIR}common/city.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/city.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/combat.o: ${FREECIV_DIR}common/combat.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/combat.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/connection.o: ${FREECIV_DIR}common/connection.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/connection.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/diptreaty.o: ${FREECIV_DIR}common/diptreaty.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/diptreaty.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/fcintl.o: ${FREECIV_DIR}common/fcintl.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/fcintl.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/game.o: ${FREECIV_DIR}common/game.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/game.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/genlist.o: ${FREECIV_DIR}common/genlist.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/genlist.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/government.o: ${FREECIV_DIR}common/government.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/government.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/hash.o: ${FREECIV_DIR}common/hash.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/hash.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/idex.o: ${FREECIV_DIR}common/idex.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/idex.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/improvement.o: ${FREECIV_DIR}common/improvement.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/improvement.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/inputfile.o: ${FREECIV_DIR}common/inputfile.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/inputfile.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/ioz.o: ${FREECIV_DIR}common/ioz.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/ioz.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/log.o: ${FREECIV_DIR}common/log.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/log.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/map.o: ${FREECIV_DIR}common/map.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/map.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/mem.o: ${FREECIV_DIR}common/mem.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/mem.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/netintf.o: ${FREECIV_DIR}common/netintf.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/netintf.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/nation.o: ${FREECIV_DIR}common/nation.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/nation.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/packets.o: ${FREECIV_DIR}common/packets.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/packets.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/packets_lsend.o: ${FREECIV_DIR}common/packets_lsend.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/packets_lsend.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/player.o: ${FREECIV_DIR}common/player.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/player.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/rand.o: ${FREECIV_DIR}common/rand.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/rand.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/registry.o: ${FREECIV_DIR}common/registry.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/registry.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/sbuffer.o: ${FREECIV_DIR}common/sbuffer.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/sbuffer.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/shared.o: ${FREECIV_DIR}common/shared.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/shared.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/spaceship.o: ${FREECIV_DIR}common/spaceship.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/spaceship.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/support.o: ${FREECIV_DIR}common/support.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/support.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/tech.o: ${FREECIV_DIR}common/tech.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/tech.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/timing.o: ${FREECIV_DIR}common/timing.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/timing.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/unit.o: ${FREECIV_DIR}common/unit.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/unit.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/unittype.o: ${FREECIV_DIR}common/unittype.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/unittype.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/version.o: ${FREECIV_DIR}common/version.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/version.c ${COMMONDIRS} ${TO}$@

${OBJDIR}common/worklist.o: ${FREECIV_DIR}common/worklist.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}common/worklist.c ${COMMONDIRS} ${TO}$@

# Server Files

${OBJDIR}server/autoattack.o: ${FREECIV_DIR}server/autoattack.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/autoattack.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/barbarian.o: ${FREECIV_DIR}server/barbarian.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/barbarian.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/cityhand.o: ${FREECIV_DIR}server/cityhand.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/cityhand.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/citytools.o: ${FREECIV_DIR}server/citytools.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/citytools.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/cityturn.o: ${FREECIV_DIR}server/cityturn.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/cityturn.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/civserver.o: ${FREECIV_DIR}server/civserver.c
  ${CC} ${CCFLAGS} ${DEF}main=civ_main ${FREECIV_DIR}server/civserver.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/console.o: ${FREECIV_DIR}server/console.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/console.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/diplhand.o: ${FREECIV_DIR}server/diplhand.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/diplhand.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/diplomats.o: ${FREECIV_DIR}server/diplomats.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/diplomats.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/gamehand.o: ${FREECIV_DIR}server/gamehand.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/gamehand.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/gamelog.o: ${FREECIV_DIR}server/gamelog.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/gamelog.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/gotohand.o: ${FREECIV_DIR}server/gotohand.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/gotohand.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/handchat.o: ${FREECIV_DIR}server/handchat.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/handchat.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/mapgen.o: ${FREECIV_DIR}server/mapgen.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/mapgen.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/maphand.o: ${FREECIV_DIR}server/maphand.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/maphand.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/meta.o: ${FREECIV_DIR}server/meta.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/meta.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/plrhand.o: ${FREECIV_DIR}server/plrhand.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/plrhand.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/report.o: ${FREECIV_DIR}server/report.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/report.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/ruleset.o: ${FREECIV_DIR}server/ruleset.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/ruleset.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/rulesout.o: ${FREECIV_DIR}server/rulesout.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/rulesout.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/sanitycheck.o: ${FREECIV_DIR}server/sanitycheck.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/sanitycheck.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/savegame.o: ${FREECIV_DIR}server/savegame.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/savegame.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/sernet.o: ${FREECIV_DIR}server/sernet.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/sernet.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/settlers.o: ${FREECIV_DIR}server/settlers.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/settlers.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/spacerace.o: ${FREECIV_DIR}server/spacerace.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/spacerace.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/srv_main.o: ${FREECIV_DIR}server/srv_main.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/srv_main.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/stdinhand.o: ${FREECIV_DIR}server/stdinhand.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/stdinhand.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/unithand.o: ${FREECIV_DIR}server/unithand.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/unithand.c ${SERVERDIRS} ${TO}$@

${OBJDIR}server/unittools.o: ${FREECIV_DIR}server/unittools.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}server/unittools.c ${SERVERDIRS} ${TO}$@

# Client Files

${OBJDIR}client/cityrepdata.o : ${FREECIV_DIR}client/cityrepdata.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}client/cityrepdata.c ${CLIENTDIRS} ${TO}$@

${OBJDIR}client/civclient.o: ${FREECIV_DIR}client/civclient.c
  ${CC} ${CCFLAGS} ${DEF}main=civ_main ${FREECIV_DIR}client/civclient.c ${CLIENTDIRS} ${TO}$@

${OBJDIR}client/climisc.o: ${FREECIV_DIR}client/climisc.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}client/climisc.c ${CLIENTDIRS} ${TO}$@

${OBJDIR}client/clinet.o: ${FREECIV_DIR}client/clinet.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}client/clinet.c ${CLIENTDIRS} ${TO}$@

${OBJDIR}client/control.o: ${FREECIV_DIR}client/control.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}client/control.c ${CLIENTDIRS} ${TO}$@

${OBJDIR}client/goto.o: ${FREECIV_DIR}client/goto.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}client/goto.c ${CLIENTDIRS} ${TO}$@

${OBJDIR}client/helpdata.o: ${FREECIV_DIR}client/helpdata.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}client/helpdata.c ${CLIENTDIRS} ${TO}$@

${OBJDIR}client/options.o: ${FREECIV_DIR}client/options.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}client/options.c ${CLIENTDIRS} ${TO}$@

${OBJDIR}client/packhand.o: ${FREECIV_DIR}client/packhand.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}client/packhand.c ${CLIENTDIRS} ${TO}$@

${OBJDIR}client/tilespec.o: ${FREECIV_DIR}client/tilespec.c
  ${CC} ${CCFLAGS} ${FREECIV_DIR}client/tilespec.c ${CLIENTDIRS} ${TO}$@

# GUI dependent Client Files

${OBJDIR}client/gui-mui/chatline.o: ${CGP}chatline.c
  ${CC} ${CCFLAGS} ${CGP}chatline.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/citydlg.o: ${CGP}citydlg.c
  ${CC} ${CCFLAGS} ${CGP}citydlg.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/cityrep.o: ${CGP}cityrep.c
  ${CC} ${CCFLAGS} ${CGP}cityrep.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/colors.o: ${CGP}colors.c
  ${CC} ${CCFLAGS} ${CGP}colors.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/connectdlg.o: ${CGP}connectdlg.c
  ${CC} ${CCFLAGS} ${CGP}connectdlg.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/dialogs.o: ${CGP}dialogs.c
  ${CC} ${CCFLAGS} ${CGP}dialogs.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/diplodlg.o: ${CGP}diplodlg.c
  ${CC} ${CCFLAGS} ${CGP}diplodlg.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/finddlg.o: ${CGP}finddlg.c
  ${CC} ${CCFLAGS} ${CGP}finddlg.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/gamedlgs.o: ${CGP}gamedlgs.c
  ${CC} ${CCFLAGS} ${CGP}gamedlgs.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/gotodlg.o: ${CGP}gotodlg.c
  ${CC} ${CCFLAGS} ${CGP}gotodlg.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/graphics.o: ${CGP}graphics.c
  ${CC} ${CCFLAGS} ${CGP}graphics.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/gui_main.o: ${CGP}gui_main.c ${CGP}gui_main.h
  ${CC} ${CCFLAGS} ${CGP}gui_main.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/helpdlg.o: ${CGP}helpdlg.c
  ${CC} ${CCFLAGS} ${CGP}helpdlg.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/inputdlg.o: ${CGP}inputdlg.c
  ${CC} ${CCFLAGS} ${CGP}inputdlg.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/inteldlg.o: ${CGP}inteldlg.c
  ${CC} ${CCFLAGS} ${CGP}inteldlg.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/mapctrl.o: ${CGP}mapctrl.c
  ${CC} ${CCFLAGS} ${CGP}mapctrl.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/mapview.o: ${CGP}mapview.c
  ${CC} ${CCFLAGS} ${CGP}mapview.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/messagedlg.o: ${CGP}messagedlg.c
  ${CC} ${CCFLAGS} ${CGP}messagedlg.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/messagewin.o: ${CGP}messagewin.c
  ${CC} ${CCFLAGS} ${CGP}messagewin.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/plrdlg.o: ${CGP}plrdlg.c
  ${CC} ${CCFLAGS} ${CGP}plrdlg.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/repodlgs.o: ${CGP}repodlgs.c
  ${CC} ${CCFLAGS} ${CGP}repodlgs.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/spaceshipdlg.o: ${CGP}spaceshipdlg.c
  ${CC} ${CCFLAGS} ${CGP}spaceshipdlg.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/wldlg.o: ${CGP}wldlg.c
  ${CC} ${CCFLAGS} ${CGP}wldlg.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/muistuff.o: ${CGP}muistuff.c
  ${CC} ${CCFLAGS} ${CGP}muistuff.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/autogroupclass.o: ${CGP}autogroupclass.c
  ${CC} ${CCFLAGS} ${CGP}autogroupclass.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/colortextclass.o: ${CGP}colortextclass.c
  ${CC} ${CCFLAGS} ${CGP}colortextclass.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/historystringclass.o: ${CGP}historystringclass.c
  ${CC} ${CCFLAGS} ${CGP}historystringclass.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/mapclass.o: ${CGP}mapclass.c
  ${CC} ${CCFLAGS} ${CGP}mapclass.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/objecttreeclass.o: ${CGP}objecttreeclass.c
  ${CC} ${CCFLAGS} ${CGP}objecttreeclass.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/overviewclass.o: ${CGP}overviewclass.c
  ${CC} ${CCFLAGS} ${CGP}overviewclass.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/scrollbuttonclass.o: ${CGP}scrollbuttonclass.c
  ${CC} ${CCFLAGS} ${CGP}scrollbuttonclass.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/transparentstringclass.o: ${CGP}transparentstringclass.c
  ${CC} ${CCFLAGS} ${CGP}transparentstringclass.c ${CLIENTGUIDIRS} ${TO}$@

${OBJDIR}client/gui-mui/worklistclass.o: ${CGP}worklistclass.c
  ${CC} ${CCFLAGS} ${CGP}worklistclass.c ${CLIENTGUIDIRS} ${TO}$@

# The locale stuff

locale: ${LOCALEOBJS}

.po.mo:
  msgfmt ..$? -o ./$@ # this is the unix style variant of msgfmt (GeekGadgets)
# msgfmt $? -o $@     # this is the Amiga style variant of msgfmt

${LOCALEDIR}de.mo: ${FREECIV_DIR}po/de.po
${LOCALEDIR}en_GB.mo: ${FREECIV_DIR}po/en_GB.po
${LOCALEDIR}es.mo: ${FREECIV_DIR}po/es.po
${LOCALEDIR}fr.mo: ${FREECIV_DIR}po/fr.po
${LOCALEDIR}hu.mo: ${FREECIV_DIR}po/hu.po
${LOCALEDIR}ja.mo: ${FREECIV_DIR}po/ja.po
${LOCALEDIR}nl.mo: ${FREECIV_DIR}po/nl.po
${LOCALEDIR}no.mo: ${FREECIV_DIR}po/no.po
${LOCALEDIR}pl.mo: ${FREECIV_DIR}po/pl.po
${LOCALEDIR}pt.mo: ${FREECIV_DIR}po/pt.po
${LOCALEDIR}pt_BR.mo: ${FREECIV_DIR}po/pt_BR.po
${LOCALEDIR}ru.mo: ${FREECIV_DIR}po/ru.po
${LOCALEDIR}sv.mo: ${FREECIV_DIR}po/sv.po

# The installation process

install: dirs civserver civclient locale
  delete ${DESTDIR}/\#? ALL
  copy ReadMe ${DESTDIR}
  copy ReadMe.info ${DESTDIR}
  copy ReadMe.2Amigas ${DESTDIR}
  copy ReadMe.2Amigas.info ${DESTDIR}
  copy civserver ${DESTDIR}/civserver
  copy civserver.info ${DESTDIR}/civserver.info
  copy civclient ${DESTDIR}/civclient
  copy civclient.info ${DESTDIR}/civclient.info
  copy Freeciv.start ${DESTDIR}
  copy Freeciv.start.info ${DESTDIR}
  copy Icons ${DESTDIR}/Icons all
  copy Icons.info ${DESTDIR}
  copy locale/\#? ${DESTDIR}/locale
  copy ${FREECIV_DIR}data/\#?.(ilbm|txt|sav|serv) ${DESTDIR}/data
  copy ${FREECIV_DIR}data/\#?.tilespec ${DESTDIR}/data
  copy ${FREECIV_DIR}data/civ1/\#?.ruleset ${DESTDIR}/data/civ1
  copy ${FREECIV_DIR}data/civ2/\#?.ruleset ${DESTDIR}/data/civ2
  copy ${FREECIV_DIR}data/classic/\#?.ruleset ${DESTDIR}/data/classic
  copy ${FREECIV_DIR}data/default/\#?.ruleset ${DESTDIR}/data/default
  copy ${FREECIV_DIR}data/nation/\#?.ruleset ${DESTDIR}/data/nation
  copy ${FREECIV_DIR}data/misc/\#?.(ilbm|spec) ${DESTDIR}/data/misc
  copy ${FREECIV_DIR}data/scenario/\#?.sav ${DESTDIR}/data/scenario
  copy ${FREECIV_DIR}data/trident/\#?.(ilbm|ruleset|spec) ${DESTDIR}/data/trident
  copy ${FREECIV_DIR}data/hires/\#?.(ilbm|ruleset|spec) ${DESTDIR}/data/hires
  copy ${FREECIV_DIR}README ${DESTDIR}/README.org
  copy ${FREECIV_DIR}*(README.~(bak\#?)|BUGS|TODO|HOWTO\#?|NEWS|AUTHORS|PEOPLE|HOWTOPLAY|COPYING|INSTALL) ${DESTDIR}

cleanlocale:
  delete ${LOCALEDIR} all

clean:
  delete ${OBJDIR} all
