# 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