#
#  Makefile for The Goggle.
#
GOGGLE_OBJS = \
  battle.o battleshow.o calc.o errno.o field.o group.o lex.o planet.o readdata.o \
  route.o ship.o util.o version.o \
  fileshow.o menu.o msg.o planetshow.o prompt.o screen.o shipshow.o \
  main.o

SIM_OBJS=\
  errno.o field.o group.o lex.o planet.o readdata.o ship.o util.o version.o \
  get.o battle.o battlemain.o

OBJS=$(GOGGLE_OBJS) $(SIM_OBJS)

SRCS1 = \
  calc.c errno.c field.c fileshow.c group.c lex.c main.c menu.c
SRCS2 = \
  msg.c planet.c planetshow.c prompt.c readdata.c route.c screen.c ship.c 
SRCS3 = \
  battleshow.c battlemain.c battle.c shipshow.c util.c version.c get.c

SRCS = $(SRCS1) $(SRCS2) $(SRCS3)

README = README.usage README.setup README.bugs README.code \
	README.features README.changes
HEADERS = common.h data.h fileshow.h planet.h platform.h screen.h
RELEASE = 2.4
SHAR_OPT = -v -s -f
FILES1 = $(SRCS1) 
FILES2 = $(SRCS2) 
FILES3 = Makefile $(SRCS3) $(HEADERS) $(README) 
FILES = $(FILES1) $(FILES2) $(FILES3)
FILES1A = $(SRCS1) Makefile $(HEADERS) $(README)
FILES2A = $(SRCS2) $(SRCS3)

LIBS = -lcurses -ltermcap -lm
CFLAGS = -O -DNDEBUG
PURIFY = /cae780/usr/local/bin/purify -cache_dir=/dragon/flame/digger/parts/cache

all : goggle battle

goggle : $(GOGGLE_OBJS) 
	cc $(CFLAGS) -o $@ $(GOGGLE_OBJS) $(LIBS)

goggle.pure : $(GOGGLE_OBJS) 
	$(PURIFY) cc $(CFLAGS) -o $@ $(GOGGLE_OBJS) $(LIBS)

battle:	$(SIM_OBJS)
	cc $(CFLAGS) -o $@ $(SIM_OBJS) -lm

$(OBJS) : common.h screen.h data.h platform.h

fileshow.o fileedit.o : fileshow.h
planet.o planetshow.o : planet.h

backup: 
	mv back3 back4
	mv back2 back3
	mv back back2
	mkdir back
	cp Makefile *.c *.h R* back
	rm -rf back4

release_shar:
	shar $(SHAR_OPT) $(FILES1) > out/goggleA$(RELEASE)
	shar $(SHAR_OPT) $(FILES2) > out/goggleB$(RELEASE)
	shar $(SHAR_OPT) $(FILES3) > out/goggleC$(RELEASE)
	echo "Made Release ${RELEASE} (shareable 3)" >> out/sends

release_tar:
	rm -rf out/goggle out/goggle$(RELEASE).tar*
	mkdir out/goggle
	cp $(FILES) out/goggle
	cd out; tar cvf goggle$(RELEASE).tar goggle; compress goggle$(RELEASE).tar; 
	cd out; uuencode goggle$(RELEASE).tar.Z goggle$(RELEASE).tar.Z > goggle$(RELEASE).encode
	echo "Made Release ${RELEASE} (tar)" >> out/sends

release_encode: 
	rm -rf out/goggle out/goggleA$(RELEASE).tar.Z
	mkdir out/goggle
	cp $(FILES1A) out/goggle
	cd out; tar cvf goggleA$(RELEASE).tar goggle; compress goggleA$(RELEASE).tar; 
	rm -rf out/goggle out/goggleB$(RELEASE).tar.Z
	mkdir out/goggle
	cp $(FILES2A) out/goggle
	cd out; tar cvf goggleB$(RELEASE).tar goggle; compress goggleB$(RELEASE).tar; 
	cd out; uuencode goggleA$(RELEASE).tar.Z goggleA.tar.Z > goggleA$(RELEASE).encode
	cd out; uuencode goggleB$(RELEASE).tar.Z goggleB.tar.Z > goggleB$(RELEASE).encode
	echo "Made Release ${RELEASE} (encode)" >> out/sends
