Merge semi-1_9_1.
[elisp/semi.git] / SEMI-MK
1 ;;; -*-Emacs-Lisp-*-
2
3 ;; SEMI-MK: installer for SEMI.
4
5 ;;; Code:
6
7 (defun config-semi ()
8   (let (prefix exec-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 exec-prefix (car command-line-args-left))
15          (or (string-equal "NONE" exec-prefix)
16              (defvar EXEC_PREFIX exec-prefix)
17              ))
18     (setq command-line-args-left (cdr command-line-args-left))
19     (and (setq lisp-dir (car command-line-args-left))
20          (or (string-equal "NONE" lisp-dir)
21              (defvar LISPDIR lisp-dir)
22              ))
23     (setq command-line-args-left (cdr command-line-args-left))
24     (and (setq version-specific-lisp-dir (car command-line-args-left))
25          (or (string-equal "NONE" version-specific-lisp-dir)
26              (progn
27                (defvar VERSION_SPECIFIC_LISPDIR version-specific-lisp-dir)
28                (princ (format "VERSION_SPECIFIC_LISPDIR=%s\n"
29                               VERSION_SPECIFIC_LISPDIR)))
30              ))
31     (setq command-line-args-left (cdr command-line-args-left))
32     )
33   (load-file "SEMI-CFG")
34   (load-file "SEMI-ELS")
35   (princ (format "PREFIX=%s\tEXEC_PREFIX=%s
36 LISPDIR=%s\n" PREFIX EXEC_PREFIX LISPDIR))
37   )
38
39 (defun directory= (dir1 dir2)
40   (string= (file-name-as-directory dir1)(file-name-as-directory dir2))
41   )
42
43 (defun compile-semi ()
44   (config-semi)
45   (print load-path)
46   (compile-elisp-modules semi-modules-to-compile ".")
47   (compile-elisp-module  'mime-setup            ".")
48   )
49
50 (defun install-semi ()
51   (config-semi)
52   (princ (format "%s\n" emacs-version))
53   (install-elisp-modules semi-modules    "."    SEMI_KERNEL_DIR)
54   (install-elisp-modules '(mime-setup)   "."    SETUP_FILE_DIR)
55   )
56
57 (defun install-execs ()
58   (config-semi)
59   (install-files METHODS METHOD_SRC_DIR METHOD_DIR nil t)
60   )
61
62 (defun config-semi-package ()
63   (let (package-dir)
64     (and (setq package-dir (car command-line-args-left))
65          (or (string= "NONE" package-dir)
66              (defvar PACKAGEDIR package-dir)
67              ))
68     (setq command-line-args-left (cdr command-line-args-left))
69     (load-file "SEMI-CFG")
70     (load-file "SEMI-ELS")
71                                           
72     (princ (format "PACKAGEDIR=%s\n" PACKAGEDIR))
73     ))
74
75 (defun compile-semi-package ()
76   (config-semi-package)
77
78   (setq autoload-package-name "semi")
79   (add-to-list 'command-line-args-left ".")
80   (batch-update-directory)
81
82   (add-to-list 'command-line-args-left ".")
83   (Custom-make-dependencies)
84
85   (compile-elisp-modules (append semi-modules-to-compile
86                                  '(auto-autoloads custom-load))
87                          ".")
88   )
89
90 (defun install-semi-package ()
91   (config-semi-package)
92   (install-elisp-modules (append semi-modules
93                                  '(mime auto-autoloads custom-load))
94                          "./"
95                          (expand-file-name SEMI_PREFIX
96                                            (expand-file-name "lisp"
97                                                              PACKAGEDIR)))
98   )
99
100 ;;; SEMI-MK ends here