(What's EMH?): Modify for the new URLs of APEL, FLIM and SEMI.
[elisp/emh.git] / EMH-MK
1 ;;; -*-Emacs-Lisp-*-
2
3 ;; EMH-MK: installer for EMH.
4
5 ;;; Code:
6
7 (defun config-emh ()
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     (config-emh-pixmap-dir)
28     )
29   (setq command-line-args-left (cdr command-line-args-left))
30   (load-file "EMH-CFG")
31   (load-file "EMH-ELS")
32   (princ (format "PREFIX=%s
33 LISPDIR=%s\n" PREFIX LISPDIR))
34   )
35
36 (defun compile-emh ()
37   (config-emh)
38   (compile-elisp-modules emh-modules ".")
39   )
40
41 (defun install-emh ()
42   (config-emh)
43   (install-elisp-modules emh-modules "./" EMH_DIR)
44   (if PIXMAPDIR (install-emh-icons))
45   )
46
47 (defun config-emh-package ()
48   (let (package-dir)
49     (and (setq package-dir (car command-line-args-left))
50          (or (string= "NONE" package-dir)
51              (defvar PACKAGEDIR package-dir)
52              ))
53     (setq command-line-args-left (cdr command-line-args-left))
54     (load-file "EMH-CFG")
55     (load-file "EMH-ELS")
56     (setq emh-modules (append emh-modules
57                                '(auto-autoloads custom-load)))
58     (princ (format "PACKAGEDIR=%s\n" PACKAGEDIR))
59     (config-emh-pixmap-dir PACKAGEDIR)
60     ))
61
62 (defun compile-emh-package ()
63   (config-emh-package)
64
65   (setq autoload-package-name "emh")
66   (add-to-list 'command-line-args-left ".")
67   (batch-update-directory)
68
69   (add-to-list 'command-line-args-left ".")
70   (Custom-make-dependencies)
71
72   (compile-elisp-modules emh-modules ".")
73   )
74
75 (defun install-emh-package ()
76   (config-emh-package)
77   (install-elisp-modules emh-modules
78                          "./"
79                          (expand-file-name EMH_PREFIX
80                                            (expand-file-name "lisp"
81                                                              PACKAGEDIR)))
82   (if PIXMAPDIR (install-emh-icons))
83   )
84
85 (defun config-emh-pixmap-dir (&optional packagedir)
86   (let ((pixmap-dir (car command-line-args-left)))
87     (defvar PIXMAPDIR
88       (if (string= pixmap-dir "NONE")
89           (if packagedir
90               (expand-file-name "etc/emh/" packagedir)
91             (expand-file-name "emh/icons/" data-directory))
92         pixmap-dir)))
93   (if PIXMAPDIR
94       (princ (format "PIXMAPDIR is %s\n" PIXMAPDIR)))
95   (setq command-line-args-left (cdr command-line-args-left)))
96
97 (defun install-emh-icons ()
98   (if (not (file-directory-p PIXMAPDIR))
99       (make-directory PIXMAPDIR t))
100   (let* ((case-fold-search t)
101          (icons (if (and (not (featurep 'xemacs))
102                          (boundp 'emacs-major-version)
103                          (>= emacs-major-version 21))
104                     (directory-files "./etc/icons" t "\\.xpm$")))
105          icon dest)
106     (while icons
107       (setq icon  (car icons)
108             icons (cdr icons)
109             dest  (expand-file-name (file-name-nondirectory icon) PIXMAPDIR))
110       (princ (format "%s -> %s\n"
111                      (file-name-nondirectory icon)
112                      (substring (file-name-directory dest) 0 -1)))
113       (copy-file icon dest t))))
114
115 ;;; EMH-MK ends here