Synch up with flim-1.14.3
[elisp/flim.git] / FLIM-MK
1 ;;; -*-Emacs-Lisp-*-
2
3 ;; FLIM-MK: installer for FLIM.
4
5 ;;; Code:
6
7 (defun config-flim ()
8   (let (prefix lisp-dir version-specific-lisp-dir)
9     (and (setq prefix (car command-line-args-left))
10          (or (string-equal "NONE" prefix)
11              (defvar PREFIX prefix)))
12     (setq command-line-args-left (cdr command-line-args-left))
13     (and (setq lisp-dir (car command-line-args-left))
14          (or (string-equal "NONE" lisp-dir)
15              (defvar LISPDIR lisp-dir)))
16     (setq command-line-args-left (cdr command-line-args-left))
17     (and (setq version-specific-lisp-dir (car command-line-args-left))
18          (or (string-equal "NONE" version-specific-lisp-dir)
19              (progn
20                (defvar VERSION_SPECIFIC_LISPDIR version-specific-lisp-dir)
21                (princ (format "VERSION_SPECIFIC_LISPDIR=%s\n"
22                               VERSION_SPECIFIC_LISPDIR)))))
23     (setq command-line-args-left (cdr command-line-args-left))
24     (load-file "FLIM-CFG")
25     (load-file "FLIM-ELS")
26     (princ (format "PREFIX=%s
27 LISPDIR=%s\n" PREFIX LISPDIR))))
28
29 (defun compile-flim ()
30   (config-flim)
31   (compile-elisp-modules flim-version-specific-modules ".")
32   (compile-elisp-modules flim-modules "."))
33
34 (defun install-flim ()
35   (config-flim)
36   (install-elisp-modules flim-version-specific-modules "./"
37                          FLIM_VERSION_SPECIFIC_DIR)
38   (install-elisp-modules flim-modules "./" FLIM_DIR))
39
40 (defun check-flim ()
41   (config-flim)
42   (require 'lunit)
43   (let ((files (directory-files "tests" t "^test-.*\\.el$"))
44         (suite (lunit-make-test-suite)))
45     (while files
46       (if (file-regular-p (car files))
47           (progn
48             (load-file (car files))
49             (lunit-test-suite-add-test
50              suite (lunit-make-test-suite-from-class
51                     (intern (file-name-sans-extension
52                              (file-name-nondirectory (car files))))))))
53       (setq files (cdr files)))
54     (lunit suite)))
55
56 (defun config-flim-package ()
57   (let (package-dir)
58     (and (setq package-dir (car command-line-args-left))
59          (or (string= "NONE" package-dir)
60              (defvar PACKAGEDIR package-dir)))
61     (setq command-line-args-left (cdr command-line-args-left))
62     (load-file "FLIM-CFG")
63     (load-file "FLIM-ELS")
64     (setq flim-modules (append flim-modules
65                                '(auto-autoloads custom-load)))
66     (princ (format "PACKAGEDIR=%s\n" PACKAGEDIR))))
67
68 (defun compile-flim-package ()
69   (config-flim-package)
70
71   (setq autoload-package-name "flim")
72   (add-to-list 'command-line-args-left ".")
73   (batch-update-directory)
74
75   (add-to-list 'command-line-args-left ".")
76   (Custom-make-dependencies)
77
78   (compile-elisp-modules flim-version-specific-modules ".")
79   (compile-elisp-modules flim-modules "."))
80
81 (defun install-flim-package ()
82   (config-flim-package)
83   (install-elisp-modules (append flim-version-specific-modules
84                                  flim-modules)
85                          "./"
86                          (expand-file-name FLIM_PREFIX
87                                            (expand-file-name "lisp"
88                                                              PACKAGEDIR)))
89   (delete-file "./auto-autoloads.el")
90   (delete-file "./custom-load.el"))
91
92 ;;; FLIM-MK ends here