#Define where X11 stuff is
#X11_INCDIR = -I/usr/local/X11R5/include
#X11_LIBDIR = -L/usr/local/X11R5/lib
X11_INCDIR = 
X11_LIBDIR =

#Define where your XPM include files & library are
#XPM_INCDIR = -I/home/wrasman/xpm-3.4g
#XPM_LIBDIR = -L/home/wrasman/xpm-3.4g/lib
XPM_INCDIR =
XPM_LIBDIR =

# You just need to specify here paths to widgets you want !!

# Either openwin
#OPENWIN_INCDIR = -I/usr/openwin/include
#OPENWIN_LIBDIR = -L/usr/X11/lib -L/usr/openwin/lib
OPENWIN_INCDIR =
OPENWIN_LIBDIR =

# Or Athena
#ATHENA_INCDIR = -I/usr/local/X11/include
#ATHENA_LIBDIR = -L/usr/lib/X11 -L/usr/local/X11/lib
ATHENA_INCDIR =
ATHENA_LIBDIR =

# Or Motif
#MOTIF_INCDIR = -I/usr/Motif/include
#MOTIF_LIBDIR = -L/usr/Motif/osf/lib
MOTIF_INCDIR =
MOTIF_LIBDIR =

#XMU_LIB = /usr/local/X11R5/lib/libXmu.a
XMU_LIB =

EXTRA = -DNEWWORLD -DBIGPIXMAPS -DSUNKEY
# Use to get old world creation scheme
#EXTRA = -DNEWWORLD
# Use to get double sized graphics
#EXTRA = -DBIGPIXMAPS
# Use for PC numpad (possibly obsolete)
#EXTRA = -PCNUMPAD
# Use for Sun keypad (possibly obsolete)
#EXTRA = -DSUNKEY
# Use to compile pixmaps at startup
#EXTRA = -DPRECOMPILEPIXMAPS

CFLAGS = -DUSE_X11 $(EXTRA) $(XPM_INCDIR) $(X11_INCDIR)
DEBUGFLAGS = -Wall -g
#DEBUGFLAGS = -Wall -O2

# Uncomment *ONE* of the following sets of lines
# to select a widget set

# This one for X11/Motif (almost implemented)
#WIDGETDEF = $(MOTIF_INCDIR) -DUSE_XT -DUSE_XM
#WIDGETLIB = $(MOTIF_LIBDIR) -lXm $(XMU_LIB) -lXt
#WIDGETSRC = UMsgQ.cc X11Screen.cc XtkScreen.cc XmScreen.cc XmDisplays.cc
#WIDGETINC = X11Screen.h XtkScreen.h XmScreen.h

# This one for X11/Athena
WIDGETDEF = $(ATHENA_INCDIR) -DUSE_XT -DUSE_XAW
WIDGETLIB = $(ATHENA_LIBDIR) -lXaw $(XMU_LIB) -lXt
WIDGETSRC = UMsgQ.cc X11Screen.cc XtkScreen.cc XawScreen.cc XawDisplays.cc X11Displays.cc
WIDGETINC = X11Screen.h XtkScreen.h XawScreen.h XawDisplays.h

# This one for X11/Xview
#WIDGETDEF = $(OPENWIN_INCDIR) -DUSE_XVIEW
#WIDGETLIB = $(OPENWIN_LIBDIR) -lxview -lolgx 
#WIDGETSRC = UMsgQ.cc XvDisplays.cc X11Displays.cc XvScreen.cc X11Screen.cc
#WIDGETINC = XvScreen.h X11Screen.h X11Displays.h XvDisplays.h

# This one for M$-Windoze
# FIXME: surely needs some more stuff here !
#WIDGETDEF = 
#WIDGETLIB = 
#WIDGETSRC = WScreen.cc
#WIDGETINC = WScreen.h


########################################
# Not to be modified in normal use
#
LDFLAGS = 
LIBS = $(WIDGETLIB) $(XPM_LIBDIR) -lXpm $(X11_LIBDIR) -lX11
CC = g++

SRCS =	MsgQ.cc city.cc city1.cc citydisplay.cc coord.cc debug.cc display.cc \
	displays.cc help.cc keyboard.cc main.cc mapdisplay.cc misc.cc net.cc \
	pieces.cc pixmaps.cc player.cc riverpic.cc rivers.cc rules.cc \
	server.cc savefile.cc textDisplay.cc units.cc world.cc \
	$(WIDGETSRC)

INCS =	array.h boolList.h city.h coord.h citydisplay.h defs.h display.h \
	graph.h hash.h keyboard.h list.h misc.h move.h MsgQ.h mapdisplay.h \
	mytypes.h net.h pixmaps.h player.h riverpic.h rivers.h rules.h \
	savefile.h server.h textDisplay.h trans.h units.h winid.h world.h \
	$(WIDGETINC)

OBJS =	$(SRCS:.cc=.o)

%.o: %.cc
	$(CC) -c $(CFLAGS) $(WIDGETDEF) $(DEBUGFLAGS) $<

default: ../civ

all: TAGS depend ../civ

../civ: $(OBJS)
	$(CC) -o $@ $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS)

clean:
	rm -f $(OBJS) ../civ

DEPEND_FILE:=$(shell if [ -f .depend ]; then echo .depend; \
		     else echo /dev/null; fi)

.depend: $(SRCS) $(INCS)
	touch .depend
	makedepend -f.depend $(CFLAGS) $(WIDGETDEF) $(SRCS)

depend: .depend

TAGS: $(SRCS) $(INCS)
	etags $^

sym: ../civ
	@echo Building gdb symbols
	gdb -batch -nx -mapped -readnow $<

include $(DEPEND_FILE)
