###
### Makefile for byte-compile
###
### Author:  Kazu Yamamoto <Kazu@Mew.org>
### Created: Nov 18, 1994
### Revised: May 28, 2001

###
### (1)   Set the following variables as you like.
### (2)   make
### (2.1) make info
### (2.2) make jinfo
### (3)   make install
### (3.1) make install-jinfo
###

################################################################
##
## EDIT THE FOLLOWINGS
##

prefix=/usr
xemacspackages = $(prefix)/lib/xemacs/site-packages
infodir =$(xemacspackages)/info
#infodir = $(prefix)/info
##
## Compile engines
##

#EMACS = emacs
EMACS = xemacs
#EMACS = mule

##
## A directory where mew*.el[c] will be installed.
##

#elispdir = $(prefix)/share/emacs/site-lisp/mew
#elispdir  = $(prefix)/lib/$(EMACS)/site-lisp
#elispdir = $(prefix)/lib/emacs
elispdir = $(xemacspackages)/lisp/mew

##
## A directory where etc file will be installed.
##

etcdir = $(xemacspackages)/etc/mew

################################################################
##
## DO NOT EDIT THE FOLLOWINGS
##

OBJS =	mew-addrbook.elc mew-attach.elc	mew-blvs.elc	\
	mew-bq.elc	mew-cache.elc	mew-complete.elc	\
	mew-config.elc	mew-const.elc	mew-decode.elc	\
	mew-demo.elc	mew-draft.elc	mew-edit.elc	\
	mew-encode.elc	mew-env.elc	mew-ext.elc	\
	mew-fib.elc	mew-func.elc	mew-header.elc	\
	mew-highlight.elc		mew-mark.elc	\
	mew-message.elc	mew-mime.elc	mew-minibuf.elc	\
			mew-nntp.elc			\
	mew-pgp.elc	mew-pick.elc	mew-refile.elc	\
	mew-scan.elc	mew-smtp.elc	mew-sort.elc	\
	mew-ssh.elc	mew-summary.elc	mew-syntax.elc	\
					mew-vars.elc	\
	mew-vars2.elc	mew-virtual.elc			\
	mew-auth.elc	mew-md5.elc     mew-pop.elc     \
	mew-key.elc     mew-thread.elc  mew-smime.elc	\
	mew-theme.elc	mew.elc

SRCS =	mew-addrbook.el	mew-attach.el	mew-blvs.el	\
	mew-bq.el	mew-cache.el	mew-complete.el	\
	mew-config.el	mew-const.el	mew-decode.el	\
	mew-demo.el	mew-draft.el	mew-edit.el	\
	mew-encode.el	mew-env.el	mew-ext.el	\
	mew-fib.el	mew-func.el	mew-header.el	\
	mew-highlight.el mew-lang-jp.el	mew-mark.el	\
	mew-message.el	mew-mime.el	mew-minibuf.el	\
	mew-mule.el	mew-mule0.el	\
	mew-mule3.el	mew-nntp.el	\
	mew-pgp.el	mew-pick.el	mew-refile.el	\
	mew-scan.el	mew-smtp.el	mew-sort.el	\
	mew-ssh.el	mew-summary.el	mew-syntax.el	\
	mew-temacs.el	mew-unix.el	mew-vars.el	\
	mew-vars2.el	mew-virtual.el	mew-win32.el	\
	mew-xemacs.el	mew-auth.el	mew-md5.el      \
	mew-gemacs.el   mew-pop.el      mew-key.el      \
	mew-thread.el	mew-smime.el	mew-theme.el	\
	mew.el

TEMPFILE = temp.el

CP = cp
RM = rm -f
MKDIR = mkdir -p
# To save Emacses on Windows
PWD =

################################################################

all: el bin 

install: install-el install-bin install-info install-etc

################################################################

el: $(TEMPFILE) mew.el
	@echo 'Compiling EL files of Mew ... '
	@echo 'PLEASE IGNORE WARNINGS IF DISPLAYED. TAKE IT EASY!'
	$(EMACS) -batch -q -no-site-file -l ./$(TEMPFILE) -f mew-compile
	cd contrib; $(MAKE) EMACS="$(EMACS)"
	@echo 'Compiling EL files of Mew ... done'

$(TEMPFILE):
	@echo '(setq load-path (cons "." load-path))' > $(TEMPFILE)
	@echo '(defun mew-compile () (mapcar (function (lambda (x) (byte-compile-file x))) (list ' >> $(TEMPFILE)
	@echo $(OBJS) | sed -e 's/\(mew[^ ]*\.el\)c/"\1"/g'  >> $(TEMPFILE)
	@echo ')))' >> $(TEMPFILE)

install-el: $(OBJS)
	-@if [ ! -d $(elispdir) ]; then \
		$(MKDIR) $(elispdir); \
	fi
	$(CP) $(SRCS) $(elispdir)
	$(CP) $(OBJS) $(elispdir)
	cd contrib; $(MAKE) install EMACS="$(EMACS)" elispdir="$(elispdir)"

################################################################

bin::
	cd bin; sh configure; $(MAKE) prefix=$(prefix)

install-bin:
	cd bin; $(MAKE) install prefix=$(prefix)

################################################################

info::
	cd info; $(MAKE) info EMACS=$(EMACS)

install-info:
	cd info; $(MAKE) install-info infodir=$(infodir)

################################################################

jinfo:
	cd info; $(MAKE) jinfo EMACS=$(EMACS)

install-jinfo:
	cd info; $(MAKE) install-jinfo infodir=$(infodir)

################################################################

install-etc:
	-@if [ ! -d $(etcdir) ]; then \
		$(MKDIR) $(etcdir); \
	fi
	cd etc; $(CP) -r * $(etcdir)/

################################################################

clean:
	$(RM) $(OBJS) $(TEMPFILE)
	cd contrib; $(MAKE) clean

distclean:
	$(RM) $(OBJS) $(TEMPFILE)
	-@if [ -e bin/Makefile ]; then \
		cd bin; $(MAKE) distclean; \
	fi
	cd contrib; $(MAKE) clean

##
## End of Makefile
##
