1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
|
# Makefile for the Insidious Big Brother Database.
# Original Author: Jamie Zawinski (jwz@jwz.org)
#
# Makefile,v 1.7 1998/03/10 07:33:12 simmonmt Exp
#
# Makefile,v
# Revision 1.7 1998/03/10 07:33:12 simmonmt
# Finally fixed that damn 19.34 :link problem - needed to put OTHERDIR
# stuff first in the load-path before loading bbdb.el.
#
# Revision 1.6 1998/02/23 07:23:23 simmonmt
# Support for OTHERDIR, rearranged flags to Emacs so we can use
# bbdb-split-string (19.34 doesn't have split-string)
#
# Revision 1.5 1998/01/06 06:48:50 simmonmt
# Fixed bug
#
# Revision 1.4 1998/01/06 06:45:39 simmonmt
# Added deploy target. Added migrate.el
#
# Revision 1.3 1997/11/02 06:32:38 simmonmt
# Support for bbdb-sc.el
#
# Revision 1.2 1997/10/12 00:24:41 simmonmt
# Changed VM, GNUS, and MHE definitions. If the corresponding DIR
# variables are set, the (the DIR vars) are added to load-path. The
# relevant el files are then loaded using the load-path. This allows
# VMDIR, et al to be unset if the packages live in load-path by
# default. Added bbdb-snarf and bbdb-w3. Made the bbdb-srv and
# bbdb-reportmail skip messages more informative for the poor souls (FSF
# Emacs users) who can't use them. Added a check for itimer, since
# apparently some FSF Emacs users have installed gnuserv - without
# itimer, bbdb-srv still won't compile.
#
# Revision 1.1 1997/10/06 01:16:00 simmonmt
# Initial revision
#
#
# this is lovely, isn't it? Surprisingly enough, it seems to work...
VM = -eval '(progn (if (not (string-match "$(VMDIR)" "")) \
(setq load-path (cons "$(VMDIR)" load-path))) \
(if (load "vm-version" t) \
(cond ((> (string-to-number vm-version) 5.31) \
(load "vm")) \
(t (load "vm-vars") (load "vm")))))'
GNUS = -eval '(if (not (string-match "$(GNUSDIR)" "")) \
(setq load-path (cons "$(GNUSDIR)" load-path)))'
MHE = -eval '(progn (if (not (string-match "$(MHEDIR)" "")) \
(setq load-path (cons "$(MHEDIR)" load-path))) \
(load "mh-e"))'
# This is hideous and sick, but FSF 19.34 doesn't ship with split, and we
# can't load bbdb.el to get bbdb-split because we have to put OTHERDIR
# at the front of the load-path before loading bbdb.el. This makes my
# head hurt.
PUSHPATH= -eval "`\
dir=\". $(OTHERDIR)\"; \
echo \(setq load-path \(append \(list ; \
for i in $$dir ; do \
echo \\"$$i\\"\ ; \
done ;\
echo \) load-path\)\) ; \
`"
#foo:
# @echo $(PUSHPATH)
# echo
# $(EMACS) -batch -q $(PUSHPATH) -eval '(message (prin1-to-string load-path))'
#-eval '(setq load-path \
# (append (bbdb-split (if (/= 0 (length "$(OTHERDIR)")) \
# (concat ". " "$(OTHERDIR)") \
# ".") " ") \
# load-path))'
EMACS = xemacs
MAKEINFO = makeinfo
.SUFFIXES: .elc .el .tar .Z .gz .uu
DEPSRCS= bbdb-com.el bbdb-hooks.el bbdb-gnus.el bbdb-mhe.el \
bbdb-rmail.el bbdb-vm.el bbdb-ftp.el bbdb-whois.el \
bbdb-xemacs.el bbdb-print.el bbdb-srv.el bbdb-reportmail.el \
bbdb-migrate.el
DEPBINS= ${DEPSRCS:.el=.elc}
SRCS= bbdb.el $(DEPSRCS)
BINS= bbdb.elc $(DEPBINS)
syntax:
@echo "" ;\
echo "*** Make should be run from the `cd ..;pwd` directory" ;\
echo "" ;\
all: rmail gnus vm mhe bbdb info
auto-autoloads.elc: auto-autoloads.el
$(EMACS) -batch -q -f batch-byte-compile ./auto-autoloads.el
bbdb.elc: bbdb.el
bbdb-com.elc: bbdb.elc bbdb-com.el
bbdb-ftp.elc: bbdb.elc bbdb-ftp.el
bbdb-migrate.elc: bbdb.elc bbdb-migrate.el
bbdb-print.elc: bbdb.elc bbdb-print.el
bbdb-snarf.elc: bbdb.elc bbdb-snarf.el
bbdb-whois.elc: bbdb.elc bbdb-whois.el
bbdb-w3.elc: bbdb.elc bbdb-w3.el
bbdb-xemacs.elc: bbdb.elc bbdb-xemacs.el
.el.elc:
$(EMACS) -batch -q $(PUSHPATH) -l ./bbdb.elc -f batch-byte-compile $<
bbdb.elc: bbdb.el
$(EMACS) -batch -q -f batch-byte-compile ./bbdb.el
bbdb-gnus.elc: bbdb.elc bbdb-gnus.el
$(EMACS) -batch -q $(PUSHPATH) -l ./bbdb.elc $(GNUS) \
-f batch-byte-compile $(@:.elc=.el)
bbdb-mhe.elc: bbdb.elc bbdb-mhe.el
$(EMACS) -batch -q $(PUSHPATH) -l ./bbdb.elc $(MHE) \
-f batch-byte-compile $(@:.elc=.el)
bbdb-rmail.elc: bbdb.elc bbdb-rmail.el
$(EMACS) -batch -q $(PUSHPATH) -l ./bbdb.elc $(RMAIL) \
-f batch-byte-compile $(@:.elc=.el)
bbdb-vm.elc: bbdb.elc bbdb-vm.el
$(EMACS) -batch -q $(PUSHPATH) -l ./bbdb.elc $(VM) \
-f batch-byte-compile $(@:.elc=.el)
bbdb-srv.elc: bbdb.elc bbdb-srv.el
$(EMACS) -batch -q $(PUSHPATH) -l ./bbdb.elc -eval '(if (and (locate-library "gnuserv") (locate-library "itimer")) (byte-compile-file "bbdb-srv.el") (message "Optional package bbdb-srv skipped - gnuserv not found"))'
bbdb-reportmail.elc: bbdb.elc bbdb-reportmail.el
$(EMACS) -batch -q $(PUSHPATH) -l ./bbdb.elc -eval '(if (locate-library "reportmail") (byte-compile-file "bbdb-reportmail.el") (message "Optional package bbdb-reportmail skipped - reportmail not found"))'
bbdb-sc.elc: bbdb.elc bbdb-sc.el
$(EMACS) -batch -q $(PUSHPATH) -l ./bbdb.elc -eval '(if (locate-library "supercite") (byte-compile-file "bbdb-sc.el") (message "Optional package bbdb-sc skipped - supercite not found"))'
# bbdb-hooks uses VM macros if it can find VM. If you don't have VM,
# then the $(VM) makefile variable should be undefined or empty.
bbdb-hooks.elc: bbdb.elc bbdb-hooks.el
$(EMACS) -batch -q $(PUSHPATH) -l ./bbdb.elc $(VM) \
-f batch-byte-compile $(@:.elc=.el)
autoloads: auto-autoloads.elc
extras: bbdb-print.elc bbdb-ftp.elc bbdb-whois.elc bbdb-xemacs.elc \
bbdb-srv.elc bbdb-reportmail.elc bbdb-snarf.elc bbdb-w3.elc \
bbdb-sc.elc bbdb-migrate.elc
bbdb: bbdb.elc bbdb-com.elc bbdb-hooks.elc extras
rmail: bbdb bbdb-rmail.elc
vm: bbdb bbdb-vm.elc
mhe: bbdb bbdb-mhe.elc
gnus: bbdb bbdb-gnus.elc
# aliases
mh: mhe
mh-e: mhe
deploy:
@for fname in `cd RCS; ls |sed 's/,v$$//g'` ; do \
if [ -w "$$fname" ] ; then \
echo "File $$fname needs to be checked in" ; \
exit 1 ; \
fi ; \
done ; \
if [ -z "$(REVTAG)" ] ; then \
echo "REVTAG needs to be set" ; \
exit 1 ; \
fi ; \
rcs "-n$(REVTAG)": RCS/* ; \
co -kv RCS/*
clean:
$(RM) bbdb.elc bbdb-*.elc bbdb.info auto-autoloads.elc
|