;;; -*-Emacs-Lisp-*- ;; 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 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") ) (princ (format "PREFIX=%s\n" PREFIX)) )) (defun compile-apel () (config-apel) (load-file "EMU-ELS") (load-file "APEL-ELS") (compile-elisp-modules emu-modules-to-compile ".") (compile-elisp-modules apel-modules ".") ) (defun install-apel () (compile-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-to-compile ".") (compile-elisp-modules apel-modules ".") ) (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