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