#
# Makefile for netrek, with extensions for gateway support
#

DESTDIR = /usr/local/games/
LIBDIR = /usr/local/games/lib/netrek/
XTREKOWNER = fadden

# client options
#
# NOTE: you must clear and rebuild to add or remove USE_RSA (need to
# remake redraw.c, socket.c, reserved.c at minimum).
OPTIONS = -DGATEWAY -DTREKHOPD -DUSE_RSA

# needed for Amdahl UTS 2.1; comment out on other systems
UTSLIBS = -lsocket -lbsd
CC = ncc

LIBS = -lm $(UTSLIBS)

CFLAGS = -O -s $(OPTIONS)
#CFLAGS = -g $(OPTIONS)


R_OBJS = colors.o \
	    coup.o \
	    data.o \
	    death.o \
	    detonate.o \
	    defaults.o \
	    dmessage.o \
	    enter.o \
	    findslot.o \
	    getname.o \
	    getship.o \
	    inform.o \
	    interface.o \
	    newwin.o \
	    orbit.o \
	    option.o \
	    planetlist.o \
	    planets.o \
	    playerlist.o \
	    ranklist.o \
	    sintab.o \
	    smessage.o \
	    socket.o \
	    stats.o \
	    util.o \
	    war.o \
	    warning.o \
	    scan.o \
	    udpopt.o 

R_FILES = colors.c \
	    coup.c \
	    data.c \
	    death.c \
	    detonate.c \
	    defaults.c \
	    dmessage.c \
	    enter.c \
	    findslot.c \
	    getname.c \
	    getship.c \
	    inform.c \
	    input.c \
	    interface.c \
	    newwin.c \
	    orbit.c \
	    option.c \
	    planetlist.c \
	    planets.c \
	    playerlist.c \
	    ranklist.c \
	    redraw.c \
	    sintab.c \
	    smessage.c \
	    socket.c \
	    stats.c \
	    util.c \
	    war.c \
	    warning.c \
	    scan.c \
	    udpopt.c 

INCLUDES = struct.h \
	    packets.h \
	    defs.h \
	    copyright.h \
	    bitmaps.h \
	    bitmaps.Iggy.h \
	    data.h \
	    oldbitmaps.h

INPUT = input.o redraw.o
MAINOBJ = main.o reserved.o
MAINSRC = main.c reserved.c
BLMAINOBJ = blmain.o blreserved.o
BLMAINSRC = blmain.c blreserved.c
RSAMAINOBJ = blmain.o rsa_key.o blreserved.o rsa_util.o
RSAMAINSRC = blmain.c rsa_key.c blreserved.c rsa_util.c
X11LIB = -lX11
X11OBJS = x11window.o

#X10LIB = -lX
#X10OBJS = x10window.o
#GLLIB = -lgl_s
#GLOBJS = glwindow.o

all:	x11netrek

#x10netrek: $(R_OBJS) $(MAINOBJ) $(INPUT) $(X10OBJS)
#	cc -o x10netrek $(CFLAGS) $(R_OBJS) $(INPUT) $(MAINOBJ) $(X10OBJS) $(X10LIB) $(LIBS)

#glnetrek: $(R_OBJS) $(MAINOBJ) $(INPUT) $(GLOBJS)
#	cc -o glnetrek $(CFLAGS) $(R_OBJS) $(MAINOBJ) $(INPUT) $(GLOBJS) $(GLLIB) $(LIBS)

x11netrek: $(R_OBJS) $(MAINOBJ) $(INPUT) $(X11OBJS)
	cc -o x11netrek $(CFLAGS) $(R_OBJS) $(INPUT) $(MAINOBJ) $(X11OBJS) $(X11LIB) $(LIBS)

blesstrek: $(R_OBJS) $(BLMAINOBJ) $(INPUT) $(X11OBJS)
	chmod 600 blreserved.o
	cc -o blesstrek $(CFLAGS) $(R_OBJS) $(INPUT) $(BLMAINOBJ) $(X11OBJS) $(X11LIB) $(LIBS)

rsatrek: $(R_OBJS) $(RSAMAINOBJ) $(INPUT) $(X11OBJS)
	cc -o rsatrek $(CFLAGS) $(R_OBJS) $(INPUT) $(RSAMAINOBJ) $(X11OBJS) $(X11LIB) $(LIBS)

clean:
	rm -f $(R_OBJS) $(MAINOBJ) $(BLMAINOBJ) $(RSAMAINOBJ) $(INPUT) $(X10OBJS) $(X11OBJS) $(GLOBJS)
clobber: clean
	rm -f x11netrek blesstrek

tags: $(R_FILES)
	ctags $(R_FILES) $(INCLUDES)

install:
	-mv $(DESTDIR)/netrek $(DESTDIR)/netrek.old
	-rm -f $(DESTDIR)/netrek.old
	mv x11netrek $(DESTDIR)/netrek
	chown $(XTREKOWNER) $(DESTDIR)/netrek
	chmod 755 $(DESTDIR)/netrek
	-mv $(DESTDIR)/blesstrek $(DESTDIR)/blesstrek.old
	-rm -f $(DESTDIR)/blesstrek.old
	mv blesstrek $(DESTDIR)/blesstrek
	chown $(XTREKOWNER) $(DESTDIR)/blesstrek
	chmod 755 $(DESTDIR)/blesstrek

tar:
	tar cvfh netrek.tar README Makefile $(R_FILES) $(INCLUDES) $(MAINSRC) \
		blmain.c
# $(BLMAINSRC) omitted - don't propagate blessed reserved.c
#####
