X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=APEL-MK;h=2ffbea4fdd5d5349047ee629fc0cf249c3861202;hb=52e9bb59411f938f6c703e0f6a1cda8f5d84a94b;hp=61902fefb20ab7b372c797cb169561813b2c9398;hpb=1a7da2dc62ba0251a1f829c692ee19afff607ca1;p=elisp%2Fapel.git diff --git a/APEL-MK b/APEL-MK index 61902fe..2ffbea4 100644 --- a/APEL-MK +++ b/APEL-MK @@ -1,17 +1,66 @@ ;;; -*-Emacs-Lisp-*- -;;; -;;; $Id: APEL-MK,v 0.2 1997-03-20 02:12:39 morioka Exp $ -;;; + +;; APEL-MK: installer for APEL. + +;;; Code: + +(defun install-just-print-p () + (let ((flag (getenv "MAKEFLAGS")) + case-fold-search) + (princ (format "%s\n" flag)) + (if flag + (string-match "^\\(\\(--[^ ]+ \\)+-\\|[^ =-]\\)*n" flag) + ))) + +(defun install-update-package-files (package dir &optional just-print) + (cond (just-print + (princ (format "Updating autoloads in directory %s..\n\n" dir)) + + (princ (format "Processing %s\n" dir)) + (princ "Generating custom-load.el...\n\n") + + (princ (format "Compiling %s...\n" + (expand-file-name "auto-autoloads.el" dir))) + (princ (format "Wrote %s\n" + (expand-file-name "auto-autoloads.elc" dir))) + + (princ (format "Compiling %s...\n" + (expand-file-name "custom-load.el" dir))) + (princ (format "Wrote %s\n" + (expand-file-name "custom-load.elc" dir))) + ) + (t + (setq autoload-package-name package) + (add-to-list 'command-line-args-left dir) + (batch-update-directory) + + (add-to-list 'command-line-args-left dir) + (Custom-make-dependencies) + + (byte-compile-file (expand-file-name "auto-autoloads.el" dir)) + (byte-compile-file (expand-file-name "custom-load.el" dir)) + ))) (defun config-apel () - (let (prefix) - (setq prefix (car command-line-args-left)) - (and prefix - (not (string-equal "NONE" prefix)) - (progn - (defvar PREFIX prefix) - (setq command-line-args-left (cdr command-line-args-left)) - )) + (let (prefix lisp-dir version-specific-lisp-dir) + (and (setq prefix (car command-line-args-left)) + (or (string-equal "NONE" prefix) + (defvar PREFIX prefix) + )) + (setq command-line-args-left (cdr command-line-args-left)) + (and (setq lisp-dir (car command-line-args-left)) + (or (string-equal "NONE" lisp-dir) + (defvar LISPDIR lisp-dir) + )) + (setq command-line-args-left (cdr command-line-args-left)) + (and (setq version-specific-lisp-dir (car command-line-args-left)) + (or (string-equal "NONE" version-specific-lisp-dir) + (progn + (defvar VERSION_SPECIFIC_LISPDIR version-specific-lisp-dir) + (princ (format "VERSION_SPECIFIC_LISPDIR=%s\n" + VERSION_SPECIFIC_LISPDIR))) + )) + (setq command-line-args-left (cdr command-line-args-left)) (load-file "APEL-CFG") (or (boundp 'apel-modules) (load-file "APEL-ELS") @@ -20,18 +69,65 @@ )) (defun compile-apel () - (add-to-list 'load-path (expand-file-name "../emu")) - (add-to-list 'load-path ".") - (require 'install) + (config-apel) + (load-file "EMU-ELS") (load-file "APEL-ELS") + (compile-elisp-modules emu-modules ".") (compile-elisp-modules apel-modules ".") ) (defun install-apel () (compile-apel) - (config-apel) + (let ((just-print (install-just-print-p))) + (install-elisp-modules emu-modules "." EMU_DIR just-print) + (install-elisp-modules apel-modules "." APEL_DIR just-print) + )) + +(defun config-apel-package () + (let (package-dir) + (and (setq package-dir (car command-line-args-left)) + (or (string= "NONE" package-dir) + (defvar PACKAGEDIR package-dir) + )) + (setq command-line-args-left (cdr command-line-args-left)) + (load-file "APEL-CFG") + (load-file "APEL-ELS") + (load-file "EMU-ELS") + + (princ (format "PACKAGEDIR=%s\n" PACKAGEDIR)) + )) + +(defun compile-apel-package () + (config-apel-package) + (compile-elisp-modules emu-modules ".") (compile-elisp-modules apel-modules ".") - (install-elisp-modules apel-modules "." APEL_DIR) ) +(defun install-apel-package () + (config-apel-package) + (let ((just-print (install-just-print-p)) + (dir (expand-file-name APEL_PREFIX + (expand-file-name "lisp" PACKAGEDIR)))) + (install-elisp-modules emu-modules "." dir just-print) + (install-elisp-modules apel-modules "." dir just-print) + (install-update-package-files "apel" dir just-print) + )) + +(defun what-where-apel () + (config-apel) + (load-file "EMU-ELS") + (princ (format " +The files that belong to the EMU modules: + %s + -> %s + +The files that belong to the APEL modules: + %s + -> %s +" + (mapconcat 'symbol-name emu-modules ", ") + EMU_DIR + (mapconcat 'symbol-name apel-modules ", ") + APEL_DIR))) + ;;; APEL-MK ends here