#
# Makefile for trek73
#

#--- Install locations
PREFIX=/usr/local
DOC=$(PREFIX)/share/doc/trek73
MAN=$(PREFIX)/man/man6
BIN=$(PREFIX)/bin

#--- continue on
CC =		cc
CFLAGS =	-O -DLINUX
LFLAGS = -o trek73
OBJ = .o
RM = rm
RMDIR = rmdir
CP=cp

OBJ1 =	cmds1$(OBJ) cmds2$(OBJ) cmds3$(OBJ) cmds4$(OBJ) dist$(OBJ) endgame$(OBJ) enemycom$(OBJ)
OBJ2 =	firing$(OBJ) globals$(OBJ) main$(OBJ) misc$(OBJ) mission$(OBJ) moveships$(OBJ)
OBJ3 =	parsit$(OBJ) parseopts$(OBJ) strat1$(OBJ) subs$(OBJ)
OBJS =	$(OBJ1) $(OBJ2) $(OBJ3)

CFILES1 =	cmds1.c cmds2.c cmds3.c cmds4.c dist.c endgame.c enemycom.c
CFILES2 =	firing.c globals.c main.c misc.c mission.c moveships.c
CFILES3 =	parsit.c parseopts.c strat1.c subs.c
CFILES =	$(CFILES1) $(CFILES2) $(CFILES3)

HEADS =		

LIBS =		-lm

all :		trek73
	@echo Done

trek73 :	$(OBJS)
		$(CC) $(LFLAGS) $(OBJS) $(LIBS)

cmds1$(OBJ) :	cmds1.c structs.h defines.h
		$(CC) -c $(CFLAGS) cmds1.c

cmds2$(OBJ) :	cmds2.c structs.h defines.h
		$(CC) -c $(CFLAGS) cmds2.c

cmds3$(OBJ) :	cmds3.c structs.h defines.h
		$(CC) -c $(CFLAGS) cmds3.c

cmds4$(OBJ) :	cmds4.c structs.h defines.h
		$(CC) -c $(CFLAGS) cmds4.c

dist$(OBJ) :	dist.c structs.h defines.h
		$(CC) -c $(CFLAGS) dist.c

endgame$(OBJ) :	endgame.c structs.h defines.h
		$(CC) -c $(CFLAGS) endgame.c

enemycom$(OBJ) :	enemycom.c structs.h defines.h
		$(CC) -c $(CFLAGS) enemycom.c

firing$(OBJ) :	firing.c structs.h defines.h
		$(CC) -c $(CFLAGS) firing.c

globals$(OBJ) :	globals.c structs.h defines.h
		$(CC) -c $(CFLAGS) globals.c

main$(OBJ) :	main.c structs.h defines.h
		$(CC) -c $(CFLAGS) main.c

misc$(OBJ) :	misc.c structs.h defines.h
		$(CC) -c $(CFLAGS) misc.c

mission$(OBJ) :	mission.c structs.h defines.h
		$(CC) -c $(CFLAGS) mission.c

moveships$(OBJ) :	moveships.c structs.h defines.h
		$(CC) -c $(CFLAGS) moveships.c

parsit$(OBJ) :	parsit.c
		$(CC) -c $(CFLAGS) parsit.c

parseopts$(OBJ) :	parseopts.c structs.h defines.h options.h
		$(CC) -c $(CFLAGS) parseopts.c

strat1$(OBJ) :	strat1.c structs.h defines.h
		$(CC) -c $(CFLAGS) strat1.c

subs$(OBJ) :	subs.c structs.h defines.h
		$(CC) -c $(CFLAGS) subs.c

tags :		$(CFILES)
		ctags $(CFILES) $(HEADS)

lint :
		lint -za $(CFILES) > lint.out

clean :
		$(RM) -f $(OBJS) trek73 make.out errs core lint.out a.out

install:
	install -m 755 -d            $(DOC)
	install -m 644 trek73.doc    $(DOC)/trek73.doc
	install -m 644 README.txt    $(DOC)/README.txt
	install -m 644 Coherent.note $(DOC)/Coherent.note
	install -m 644 trek73.6      $(MAN)/trek73.6
	gzip $(MAN)/trek73.6
	install -o games -g games -s trek73 $(BIN)

deinstall:
	-$(RM) -f $(BIN)/trek73
	-$(RM) -f $(MAN)/trek73.6.gz
	-$(RM) -f $(MAN)/trek73.6
	-$(RM) -f $(DOC)/trek73.doc
	-$(RM) -f $(DOC)/README.txt
	-$(RM) -f $(DOC)/Coherent.note
	-$(RMDIR) $(DOC)

