# All versions of Emacs prior to 19.34 for Emacs and
# prior to 19.14 for XEmacs are unsupported.
# what emacs is called on your system
EMACS = emacs
# top of the installation
prefix = /usr/local
# where the Info file should go
INFODIR = ${prefix}/lib/emacs/info
# where the vm.elc, tapestry.elc, etc. files should go
LISPDIR = ${prefix}/lib/emacs/site-lisp
# where the toolbar pixmaps should go.
# vm-toolbar-pixmap-directory must point to the same place.
# vm-image-directory must point to the same place.
PIXMAPDIR = ${prefix}/lib/emacs/etc/vm
# where the binaries should be go.
BINDIR = ${prefix}/bin
############## no user servicable parts beyond this point ###################
# no csh please
SHELL = /bin/sh
# byte compiler options
BYTEOPTS = ./vm-byteopts.el
# have to preload the files that contain macro definitions or the
# byte compiler will compile everything that references them
# incorrectly. also preload a file that sets byte compiler options.
PRELOADS = -l $(BYTEOPTS) -l ./vm-version.el -l ./vm-message.el -l ./vm-macro.el -l ./vm-vars.el
# compile with noninteractive and relatively clean environment
BATCHFLAGS = -batch -q -no-site-file
# files that contain key macro definitions. almost everything
# depends on them because the byte-compiler inlines macro
# expansions. everything also depends on the byte compiler
# options file since this might do odd things like turn off
# certain compiler optimizations.
CORE = vm-message.el vm-macro.el vm-byteopts.el
# vm-version.elc needs to be first in this list, because load time
# code needs the Emacs/XEmacs MULE/no-MULE feature stuff.
OBJECTS = \
vm-version.elc \
vm-crypto.elc \
vm-delete.elc vm-digest.elc vm-easymenu.elc vm-edit.elc vm-folder.elc \
vm-imap.elc vm-license.elc vm-macro.elc vm-mark.elc vm-menu.elc \
vm-message.elc \
vm-mime.elc vm-minibuf.elc vm-misc.elc vm-motion.elc \
vm-mouse.elc vm-page.elc vm-pop.elc vm-reply.elc \
vm-save.elc \
vm-search.elc vm-sort.elc vm-summary.elc vm-startup.elc vm-thread.elc \
vm-toolbar.elc vm-undo.elc \
vm-user.elc vm-vars.elc vm-virtual.elc vm-window.elc
SOURCES = \
vm-version.el \
vm-crypto.el \
vm-delete.el vm-digest.el vm-easymenu.el vm-edit.el vm-folder.el \
vm-imap.el vm-license.el vm-macro.el vm-mark.el vm-menu.el vm-message.el \
vm-mime.el vm-minibuf.el vm-misc.el vm-motion.el \
vm-mouse.el vm-page.el vm-pop.el vm-reply.el vm-save.el \
vm-search.el vm-sort.el vm-startup.el vm-summary.el vm-thread.el \
vm-toolbar.el vm-undo.el \
vm-user.el vm-vars.el vm-virtual.el vm-window.el
UTILS = qp-decode qp-encode base64-decode base64-encode
vm: vm.elc
vm.elc: autoload
noautoload: $(OBJECTS) tapestry.elc
@echo "building vm.elc (with all modules included)..."
@cat $(OBJECTS) tapestry.elc > vm.elc
autoload: vm-autoload.elc $(OBJECTS) tapestry.elc
@echo "building vm.elc (with all modules set to autoload)..."
@echo "(defun vm-its-such-a-cruel-world ()" > vm.el
@echo " (require 'vm-version)" >> vm.el
@echo " (require 'vm-startup)" >> vm.el
@echo " (require 'vm-vars)" >> vm.el
@echo " (require 'vm-autoload))" >> vm.el
@echo "(vm-its-such-a-cruel-world)" >> vm.el
@echo "(fmakunbound 'vm-its-such-a-cruel-world)" >> vm.el
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm.el
all: vm.info vm utils
debug: $(SOURCES) tapestry.el
@echo "building vm.elc (uncompiled, no autoloads)..."
@cat $(SOURCES) tapestry.el > vm.elc
utils: $(UTILS)
qp-decode: qp-decode.c
$(CC) $(CFLAGS) -o qp-decode qp-decode.c
qp-encode: qp-encode.c
$(CC) $(CFLAGS) -o qp-encode qp-encode.c
base64-decode: base64-decode.c
$(CC) $(CFLAGS) -o base64-decode base64-decode.c
base64-encode: base64-encode.c
$(CC) $(CFLAGS) -o base64-encode base64-encode.c
install: all install-info install-el install-vm install-pixmaps install-utils
install-info: vm.info
test -d $(INFODIR) || mkdir -p $(INFODIR)
cp vm.info vm.info-* $(INFODIR)
install-vm: vm.elc
test -d $(LISPDIR) || mkdir -p $(LISPDIR)
cp *.elc $(LISPDIR)
install-el:
test -d $(LISPDIR) || mkdir -p $(LISPDIR)
cp *.el $(LISPDIR)
install-pixmaps:
test -d $(PIXMAPDIR) || mkdir -p $(PIXMAPDIR)
cp pixmaps/*.x[pb]m $(PIXMAPDIR)
install-utils: $(UTILS)
test -d $(BINDIR) || mkdir -p $(BINDIR)
cp $(UTILS) $(BINDIR)
clean:
rm -f $(UTILS) vm.info vm.info-* vm-autoload.el vm-autoload.elc $(OBJECTS) tapestry.elc
vm.info: vm.texinfo
@echo "making vm.info..."
@$(EMACS) $(BATCHFLAGS) -insert vm.texinfo -l texinfmt -f texinfo-format-buffer -f save-buffer
# We use tr -d because Emacs under Cygwin apparently outputs CRLF
# under Windows. We remove the CRs.
# Solaris 8's tr -d '\r' removes r's so we use '\015' instead.
# the echo command can also emit CRs.
vm-autoload.elc: $(SOURCES)
@echo scanning sources to build autoload definitions...
@$(EMACS) $(BATCHFLAGS) -l ./make-autoloads -f print-autoloads $(SOURCES) | tr -d '\015' > vm-autoload.el
@echo "(provide 'vm-autoload)" | tr -d '\015' >> vm-autoload.el
@echo compiling vm-autoload.el...
@$(EMACS) $(BATCHFLAGS) -l $(BYTEOPTS) -f batch-byte-compile vm-autoload.el
vm-crypto.elc: vm-crypto.el $(CORE)
@echo compiling vm-crypto.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-crypto.el
vm-delete.elc: vm-delete.el $(CORE)
@echo compiling vm-delete.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-delete.el
vm-digest.elc: vm-digest.el $(CORE)
@echo compiling vm-digest.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-digest.el
vm-edit.elc: vm-edit.el $(CORE)
@echo compiling vm-edit.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-edit.el
vm-folder.elc: vm-folder.el $(CORE)
@echo compiling vm-folder.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-folder.el
vm-imap.elc: vm-imap.el $(CORE)
@echo compiling vm-imap.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-imap.el
vm-license.elc: vm-license.el $(CORE)
@echo compiling vm-license.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-license.el
vm-macro.elc: vm-macro.el $(CORE)
@echo compiling vm-macro.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-macro.el
vm-mark.elc: vm-mark.el $(CORE)
@echo compiling vm-mark.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-mark.el
vm-menu.elc: vm-menu.el vm-easymenu.el $(CORE)
@echo compiling vm-menu.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -l ./vm-easymenu.el -f batch-byte-compile vm-menu.el
vm-message.elc: vm-message.el $(CORE)
@echo compiling vm-message.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-message.el
vm-minibuf.elc: vm-minibuf.el $(CORE)
@echo compiling vm-minibuf.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-minibuf.el
vm-mime.elc: vm-mime.el $(CORE)
@echo compiling vm-mime.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-mime.el
vm-misc.elc: vm-misc.el $(CORE)
@echo compiling vm-misc.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-misc.el
vm-mouse.elc: vm-mouse.el $(CORE)
@echo compiling vm-mouse.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-mouse.el
vm-motion.elc: vm-motion.el $(CORE)
@echo compiling vm-motion.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-motion.el
vm-page.elc: vm-page.el $(CORE)
@echo compiling vm-page.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-page.el
vm-pop.elc: vm-pop.el $(CORE)
@echo compiling vm-pop.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-pop.el
vm-reply.elc: vm-reply.el $(CORE)
@echo compiling vm-reply.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-reply.el
vm-save.elc: vm-save.el $(CORE)
@echo compiling vm-save.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-save.el
vm-search.elc: vm-search.el $(CORE)
@echo compiling vm-search.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-search.el
vm-sort.elc: vm-sort.el $(CORE)
@echo compiling vm-sort.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-sort.el
vm-startup.elc: vm-startup.el $(CORE)
@echo compiling vm-startup.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-startup.el
vm-summary.elc: vm-summary.el $(CORE)
@echo compiling vm-summary.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-summary.el
vm-thread.elc: vm-thread.el $(CORE)
@echo compiling vm-thread.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-thread.el
vm-toolbar.elc: vm-toolbar.el $(CORE)
@echo compiling vm-toolbar.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-toolbar.el
vm-undo.elc: vm-undo.el $(CORE)
@echo compiling vm-undo.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-undo.el
vm-user.elc: vm-user.el $(CORE)
@echo compiling vm-user.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-user.el
vm-vars.elc: vm-vars.el $(CORE)
@echo compiling vm-vars.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-vars.el
vm-version.elc: vm-version.el $(CORE)
@echo compiling vm-version.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-version.el
vm-virtual.elc: vm-virtual.el $(CORE)
@echo compiling vm-virtual.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-virtual.el
vm-window.elc: vm-window.el $(CORE)
@echo compiling vm-window.el...
@$(EMACS) $(BATCHFLAGS) $(PRELOADS) -f batch-byte-compile vm-window.el
tapestry.elc: tapestry.el
@echo compiling tapestry.el...
@$(EMACS) $(BATCHFLAGS) -l $(BYTEOPTS) -f batch-byte-compile tapestry.el
vm-easymenu.elc: vm-easymenu.el
@echo compiling vm-easymenu.el...
@$(EMACS) $(BATCHFLAGS) -l $(BYTEOPTS) -f batch-byte-compile vm-easymenu.el
syntax highlighted by Code2HTML, v. 0.9.1