########################################################################
#  CHANGE THE KEYDEF LINE TO THE .def FILE OF YOUR SYSTEM AND RSA KEY  #
########################################################################

KEYDEF = sample_key.def

########################################################################
#  No editables below this point.                                      #
########################################################################

SHELL  = /bin/sh

KEYGOD = trown@ecst.csuchico.edu
MAIL   = mail
AUTOCONF = autoconf

include $(KEYDEF)

all : netrek 

netrek: system.mk netrekI

netrekI: 
	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) netrek

convert: mkkey $(KEYFILE) $(KEYSH)
	./mkkey -h $(KEYSH) $(KEYFILE) "Client Of Win" \
	$(DESC) $(MAKER) $(COMMENT)

newkey: mkkey
	./mkkey $(KEYFILE) "Client Of Win" $(DESC) $(MAKER) \
	 $(COMMENT) "inl,standard2"

mkkey: system.mk 
	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) mkkey

clean:
	rm -f *.o make.out core cflags.h

reallyclean: clean
	rm -f netrek randomize mkkey rsa_box*.c name mkcflags \
	config.h system.mk config.status config.log config.cache key.mail null

tags: system.mk
	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) tags

dist: name
	tar cvf - `cat manifest` | gzip -9 > ../COW.`name`.tar.gz

distdoc: name XTREKRC
	tar cvf - README.* COW.DOC CHANGES XTREKRC XTREKRC.example | gzip -9 >../COW.`name`.doc.tar.gz

distbin: name netrek
	-strip netrek
	-rm -f COW.`name`.$(ARCH)
	cp netrek COW.`name`.$(ARCH)
	-rm -f COW.`name`.$(ARCH).gz
	gzip -9 COW.`name`.$(ARCH)

distkey: netrek $(KEYFILE)
	echo "This is an automatic generated mail." >key.mail
	echo "Please add the following $(ARCH) COW key to the metaserver:" >>key.mail
	echo "" >>key.mail
	cat $(KEYFILE) >>key.mail
	echo "" >>key.mail
	./netrek -v >>key.mail
	cat key.mail | $(MAIL) $(KEYGOD)

name: name.c version.h patchlevel.h
	$(CC) $(CFLAGS) -o name name.c

# make patches file from old directory
patches: name
	cd $(PATCHDIR); make name
	@echo Making COW.`./name`\-`$(PATCHDIR)/name`.diffs
	-rm ../COW.`./name`\-`$(PATCHDIR)/name`.diffs
	-for f in `cat manifest` ; do \
	if [ ! -f $(PATCHDIR)/$${f} ] ; then touch $(PATCHDIR)/$${f} ; fi ; \
	diff -w -r -c $(PATCHDIR)/$${f} $${f} >> ../COW.`./name`\-`$(PATCHDIR)/name`.diffs ; \
	done

# make patches file from specified tar file (slower than above)
tarpatches: name
	@echo Making COW.`name`\-$(OLD).diffs
	-rm ../COW.`name`\-$(OLD).diffs
	-for f in `cat manifest` ; do \
	echo tar -xOzf $(TF) $${f} \| diff -c - $${f} ;\
	tar -xOzf $(TF) $${f} | diff -c - $${f} >> ../COW.`name`\-$(OLD).diffs ; \
	done

depend: system.mk
	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) depend

system.mk: Makefile system.mk.in config.h.in configure install.sh $(KEYDEF)
	./configure $(CONFFLAGS)
	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) depend

install.sh:
	touch install.sh

XTREKRC: system.mk
	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) xtrekrc
	mv xtrekrc XTREKRC	

configure: configure.in
	rm -f configure
	$(AUTOCONF) configure.in > configure
	chmod +x configure

unproto: system.mk
	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) unproto

proto: system.mk
	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) proto

indent: system.mk
	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) indent

install: netrek
	if [ -f $(BINDIR)/netrek ] ; then \
	  mv $(BINDIR)/netrek $(BINDIR)/netrek.old ; \
	fi 
	install -cs netrek $(BINDIR)

install.alpha: netrek
	rm -f $(ALPHADIR)/netrek.gz
	install -cs -m 755 netrek $(ALPHADIR)
	gzip -9 $(ALPHADIR)/netrek
	install -c -m 644 README.rel $(ALPHADIR)/rel.README
	./netrek -v | head -1 > $(ALPHADIR)/HEADER
	chmod 644 $(ALPHADIR)/HEADER
