include config.mk .PHONY: all autoloads clean compile help info package .SUFFIXES: .texi .info all: clean package autoloads: $(PKG)-loaddefs.el compile: clean $(PKG).elc help: $(info make help - show brief help) $(info make - generate a tar file containing the package) $(info make all - ditto) $(info make package - ditto) $(info make info - generate the info manual) $(info make compile - byte-compile the package lisp files) $(info make autoloads - create $(PKG)-loaddefs.el to load Elpher in-place) $(info make clean - remove generated files) @exit %.info: %.texi $(MAKEINFO) --no-split $< -o $@ %.html: %.texi $(MAKEINFO) --no-split --html $< -o $@ %.pdf: %.texi $(MAKEINFO) --no-split --pdf $< -o $@ dir: $(PKG).info $(INSTALLINFO) $? $@ info: $(PKG).info dir $(PKG)-$(VERSION).tar: $(PKG).info dir *.el COPYING mkdir $(PKG)-$(VERSION) cp -a $? $(PKG)-$(VERSION)/ $(TAR) -cf $@ $(PKG)-$(VERSION) rm -rf $(PKG)-$(VERSION) package: $(PKG)-$(VERSION).tar clean: rm -f $(PKG).elc $(PKG)-loaddefs.el rm -f $(PKG).info dir $(PKG)-$(VERSION).tar rm -f $(PKG).html $(PKG).pdf $(PKG).aux $(PKG).fn $(PKG).fns $(PKG).log $(PKG).toc define LOADDEFS_TPL (add-to-list 'load-path (directory-file-name\n\ ........................(or (file-name-directory #$$) (car load-path)))) endef #' (ends emacs font-face garbage due to previous single quote) $(PKG)-loaddefs.el: $(EMACS) -L $(PWD) \ --eval "(setq-default backup-inhibited t)" \ --eval "(setq generated-autoload-file \"$(PWD)/$@\")" \ --eval "(update-directory-autoloads \"$(PWD)\")" sed -i "s/^;;; Code:$$/;;; Code:\n\n$(subst ., ,$(LOADDEFS_TPL))/" $@ $(PKG).elc: $(EMACS) -f batch-byte-compile $(@:.elc=.el) .