--- Makefile.orig Wed Oct 20 20:20:51 1999 +++ Makefile Tue Jul 10 23:35:24 2001 @@ -19,8 +19,8 @@ ## EDIT THE FOLLOWINGS ## -PREFIX = /usr/local -INFODIR = $(PREFIX)/info +PREFIX?= /usr/local +INFODIR= $(PREFIX)/info ## ## Compile engines @@ -30,10 +30,10 @@ CFLAGS = -O #EMACS = emacs -EMACS = xemacs +EMACS= ${EMACS_CMD} #EMACS = mule -PERL=`which perl` +PERL?=`which perl` #PERL=/usr/local/bin/perl ## @@ -46,7 +46,7 @@ ## A directory where mew*.el[c] will be installed. ## -ELISPDIR = $(PREFIX)/lib/$(EMACS)/site-lisp +ELISPDIR= ${PREFIX}/${EMACS_LIBDIR}/site-lisp/mew #ELISPDIR = $(PREFIX)/share/emacs/site-lisp #ELISPDIR = $(PREFIX)/lib/emacs @@ -54,7 +54,10 @@ ## A directory where etc file will be installed. ## -ETCDIR = $(PREFIX)/lib/$(EMACS)/etc/Mew +ETCDIR= ${PREFIX}/${EMACS_LIBDIR}/etc/mew + +# For XEmacs packages +XPKGDIR= ${PREFIX}/${EMACS_PACKAGESDIR} ################################################################ ## @@ -72,6 +75,8 @@ mew-virtual.elc mew-highlight.elc mew-vars.elc \ mew-addrbook.elc mew.elc +OBJS_PKG= auto-autoloads.elc custom-load.elc + SRCS = mew-attach.el mew-bq.el mew-cache.el \ mew-complete.el mew-decode.el mew-demo.el \ mew-draft.el mew-encode.el mew-env.el \ @@ -88,6 +93,8 @@ mew-temacs.el mew-xemacs.el mew-addrbook.el \ mew.el +SRCS_PKG= auto-autoloads.el custom-load.el + TEMPFILE = temp.el CP = cp @@ -96,14 +103,14 @@ BIN = bin all: $(OBJS) + +$(OBJS): $(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 $(BIN); $(MAKE) CFLAGS="$(CFLAGS)" CC="$(CC)" PERL="$(PERL)" @echo 'Compiling EL files of Mew ... done' -$(OBJS): $(TEMPFILE) mew.el - $(TEMPFILE): @echo '(setq load-path (cons "." load-path))' > $(TEMPFILE) @echo '(defun mew-compile () (mapcar (function (lambda (x) (byte-compile-file x))) (list ' >> $(TEMPFILE) @@ -111,11 +118,11 @@ @echo ')))' >> $(TEMPFILE) install: $(OBJS) - -@if [ ! -d $(ELISPDIR) ]; then \ + if [ ! -d $(ELISPDIR) ]; then \ $(MKDIR) $(ELISPDIR); \ - fi; \ - $(CP) $(SRCS) $(ELISPDIR) - $(CP) $(OBJS) $(ELISPDIR) + fi + ${BSD_INSTALL_DATA} $(SRCS) $(ELISPDIR) + ${BSD_INSTALL_DATA} $(OBJS) $(ELISPDIR) cd $(BIN); $(MAKE) install CFLAGS="$(CFLAGS)" CC="$(CC)" BINDIR="$(BINDIR)" clean: @@ -126,19 +133,69 @@ cd info; $(MAKE) info EMACS=$(EMACS) install-info: - cd info; $(MAKE) install-info INFODIR=$(INFODIR) + ${MKDIR} ${INFODIR} + cd info; $(MAKE) install-info INFODIR=$(INFODIR) \ + XEMACS_VER_OVER20="${XEMACS_VER_OVER20}" jinfo:: cd info; $(MAKE) jinfo EMACS=$(EMACS) install-jinfo: - cd info; $(MAKE) install-jinfo INFODIR=$(INFODIR) + ${MKDIR} ${INFODIR} + cd info; $(MAKE) install-jinfo INFODIR=$(INFODIR) \ + XEMACS_VER_OVER20="${XEMACS_VER_OVER20}" + +install-man: + ${MKDIR} ${MANDIR} + cd info; $(MAKE) install-man MANDIR=$(MANDIR) install-etc: - -@if [ ! -d $(ETCDIR) ]; then \ + if [ ! -d $(ETCDIR) ]; then \ $(MKDIR) $(ETCDIR); \ fi; \ - cd etc; $(CP) -r * $(ETCDIR)/ + cd etc; $(CP) -R * $(ETCDIR)/ + +package: ${OBJS} ${OBJS_PKG} + +${OBJS_PKG}: ${SRCS_PKG} + ${EMACS} -vanilla -batch -eval "(push \"./\" load-path)" -l bytecomp \ + -f batch-byte-compile ${.ALLSRC} + +auto-autoloads.el : ${OBJS} _pkg.el + ${EMACS} -vanilla -batch \ + -eval "(setq autoload-package-name \"${XEMACS_PKGNAME}\")" \ + -l autoload -f batch-update-directory . + ${RM} -f auto-autoloads.el~ + +custom-load.el : ${OBJS} + ${EMACS} -vanilla -batch -l cus-dep -f Custom-make-dependencies . + if [ ! -f ${.TARGET} ]; then \ + touch ${.TARGET}; \ + fi + +_pkg.el: + @echo Creating _pkg.el + @echo ";;;###autoload" > _pkg.el + @echo "(package-provide '${XEMACS_PKGNAME}" >> _pkg.el + @echo " :version $(XEMACS_PKGVER)" >> _pkg.el + @echo " :type 'regular)" >> _pkg.el + +install-package: + ${MKDIR} ${XPKGDIR}/pkginfo + ${MAKE} ELISPDIR=${XPKGDIR}/lisp/mew install + ${BSD_INSTALL_DATA} _pkg.el ${OBJS_PKG} ${SRCS_PKG} ${XPKGDIR}/lisp/mew + ${MAKE} INFODIR=${XPKGDIR}/info XEMACS_VER_OVER20="yes" \ + install-info + ${MAKE} MANDIR=${XPKGDIR}/man/mew install-man + ${MAKE} ETCDIR=${XPKGDIR}/etc/mew install-etc + (cd ${XPKGDIR}; \ + ls -d1 lisp/mew/* info/mew.* man/mew/* etc/mew/* \ + > ${XPKGDIR}/pkginfo/MANIFEST.mew) + ${ECHO} "pkginfo/MANIFEST.mew" >> ${XPKGDIR}/pkginfo/MANIFEST.mew + +install-mule-package: install-package + ${MAKE} INFODIR=${XPKGDIR}/info XEMACS_VER_OVER20="yes" \ + install-jinfo ## ## End of Makefile