######## $Id: Makefile,v 1.17 1995/04/22 11:59:03 onono Exp $
########
######## Makefile for GNUS post utility
######## written by ONO Kouichi <onono@fuka.info.waseda.ac.jp>
######## Copyright (c) 1994,1995   ONO Kouichi
########

######
###### Variables
######
###
### GNU Emacs version number
###
EMACSVERSION=19.28

###
### Emacs library directory
###
LIBDIR=/usr/local/lib/emacs/$(EMACSVERSION)

###
### Emacs Lisp directories (should include current working directory)
###
ELISPORGDIR=$(LIBDIR)/lisp
ELISPADDDIR=$(LIBDIR)/library
EMACSLOADPATH=.:$(ELISPADDDIR):$(ELISPORGDIR)

###
### Emacs executable
###
EMACS=emacs-$(EMACSVERSION)

###
### Emacs lisp byte-compiler
###
ELC=$(EMACS) -batch -f batch-byte-compile

###
### sources and objects
###
APPLNAME=gnusputi
APPLVERSION=1.3
ELSRCS=$(APPLNAME).el
ELOBJS=$(APPLNAME).elc
ARCHIVENAME=$(APPLNAME)-$(APPLVERSION)
TARFILE=$(ARCHIVENAME).tar
TARGZFILE=$(TARFILE).gz
UUFILE=$(ARCHIVENAME).uu
SHARFILE=$(ARCHIVENAME).shar

MAKEFILE=Makefile
DOC=README README.jp ChangeLog .emacs.sample

###
### destination to install
###
DESTDIR=$(ELISPADDDIR)

######
###### Suffix rule
######
.SUFFIXES: .elc .el

.el.elc:
	$(ELC) $<

######
###### Targets
######
###
### objects
###
all: $(ELOBJS)

###
### install
###
install: $(ELOBJS)
	tar cf - $(ELSRCS) $(ELOBJS) | \
	  ( \
	    cd $(DESTDIR); \
	    rm -f $(ELSRCS) $(ELOBJS); \
	    tar xf -; \
	    chmod 0444 $(ELSRCS); \
	    chmod 0644 $(ELOBJS) \
	  )

###
### clean-up
###
clean:
	-rm -f $(ELOBJS)

realclean: clean
	-rm -f *~

distclean: realclean
	-rm -f $(TARFILE) $(TARGZFILE) $(UUFILE) $(SHARFILE)

###
### distributions
###
dist: uu

tar: $(TARFILE)
$(TARFILE): $(ELSRCS) $(MAKEFILE) $(DOC)
	( \
	  dir=`basename ${PWD}`; \
	  files=`for f in $(ELSRCS) $(MAKEFILE) $(DOC); do echo $${dir}/$${f}; done`; \
	  ( cd ..; tar cf $${dir}/$(TARFILE) $${files} ); \
	)

targz: $(TARGZFILE)
$(TARGZFILE): $(TARFILE)
	gzip $(TARFILE)

uu: $(UUFILE)
$(UUFILE): $(TARGZFILE)
	uuencode $(TARGZFILE) $(TARGZFILE) > $(UUFILE)

shar: $(SHARFILE)
$(SHARFILE): $(ELSRCS) $(MAKEFILE) $(DOC)
	( \
	  dir=`basename ${PWD}`; \
	  files=`for f in $(ELSRCS) $(MAKEFILE) $(DOC); do echo $${dir}/$${f}; done`; \
	  ( cd ..; shar $${files} > $${dir}/$(SHARFILE) ); \
	)
#	shar $(ELSRCS) $(MAKEFILE) $(DOC) > $(SHARFILE)	

###
### Revision Control System
###
checkin:
	ci -u $(ELSRCS) $(MAKEFILE) $(DOC)

checkout:
	co -l $(ELSRCS) $(MAKEFILE) $(DOC)
