* FLIM-ELS (flim-modules): Install mel-b-el also for
[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   (if flim-version-specific-modules
37       (install-elisp-modules flim-version-specific-modules "./"
38                              FLIM_VERSION_SPECIFIC_DIR))
39   (install-elisp-modules flim-modules "./" FLIM_DIR))
40
41 (defun check-flim ()
42   (config-flim)
43   (require 'lunit)
44   (let ((files (directory-files "tests" t "^test-.*\\.el$"))
45         (suite (lunit-make-test-suite)))
46     (while files
47       (if (file-regular-p (car files))
48           (progn
49             (load-file (car files))
50             (lunit-test-suite-add-test
51              suite (lunit-make-test-suite-from-class
52                     (intern (file-name-sans-extension
53                              (file-name-nondirectory (car files))))))))
54       (setq files (cdr files)))
55     (lunit suite)))
56
57 (defun config-flim-package ()
58   (let (package-dir)
59     (and (setq package-dir (car command-line-args-left))
60          (or (string= "NONE" package-dir)
61              (defvar PACKAGEDIR package-dir)))
62     (setq command-line-args-left (cdr command-line-args-left))
63     (load-file "FLIM-CFG")
64     (load-file "FLIM-ELS")
65     (setq flim-modules (append flim-modules
66                                '(auto-autoloads custom-load)))
67     (princ (format "PACKAGEDIR=%s\n" PACKAGEDIR))))
68
69 (defun compile-flim-package ()
70   (config-flim-package)
71
72   (setq autoload-package-name "flim")
73   (add-to-list 'command-line-args-left ".")
74   (batch-update-directory)
75
76   (add-to-list 'command-line-args-left ".")
77   (Custom-make-dependencies)
78
79   (compile-elisp-modules flim-version-specific-modules ".")
80   (compile-elisp-modules flim-modules "."))
81
82 (defun install-flim-package ()
83   (config-flim-package)
84   (install-elisp-modules (append flim-version-specific-modules
85                                  flim-modules)
86                          "./"
87                          (expand-file-name FLIM_PREFIX
88                                            (expand-file-name "lisp"
89                                                              PACKAGEDIR)))
90   (delete-file "./auto-autoloads.el")
91   (delete-file "./custom-load.el"))
92
93 ;;; FLIM-MK ends here