Update copyright header.
[elisp/semi.git] / SEMI-MK
diff --git a/SEMI-MK b/SEMI-MK
index 7bd0ed0..482deba 100644 (file)
--- a/SEMI-MK
+++ b/SEMI-MK
@@ -1,28 +1,34 @@
 ;;; -*-Emacs-Lisp-*-
-;;;
-;;; $Id: SEMI-MK,v 0.1 1997-02-28 04:21:43 tmorioka Exp $
-;;;
+
+;; SEMI-MK: installer for SEMI.
+
+;;; Code:
 
 (defun config-semi ()
-  (let (prefix exec-prefix)
-    (setq prefix (car command-line-args-left))
-    (and prefix
-        (not (string-equal "NONE" prefix))
-        (progn
-          (defvar PREFIX prefix)
-          (setq command-line-args-left (cdr command-line-args-left))
-          )
-        (setq exec-prefix (car command-line-args-left))
-        (progn
-          (defvar EXEC_PREFIX exec-prefix)
-          ;;(setq command-line-args-left (cdr command-line-args-left))
-          )))
+  (let (prefix exec-prefix lisp-dir version-specific-lisp-dir)
+    (and (setq prefix (car command-line-args-left))
+        (or (string-equal "NONE" prefix)
+            (defvar PREFIX prefix)
+            ))
+    (setq command-line-args-left (cdr command-line-args-left))
+    (and (setq lisp-dir (car command-line-args-left))
+        (or (string-equal "NONE" lisp-dir)
+            (defvar LISPDIR lisp-dir)
+            ))
+    (setq command-line-args-left (cdr command-line-args-left))
+    (and (setq version-specific-lisp-dir (car command-line-args-left))
+        (or (string-equal "NONE" version-specific-lisp-dir)
+            (progn
+              (defvar VERSION_SPECIFIC_LISPDIR version-specific-lisp-dir)
+              (princ (format "VERSION_SPECIFIC_LISPDIR=%s\n"
+                             VERSION_SPECIFIC_LISPDIR)))
+            ))
+    (setq command-line-args-left (cdr command-line-args-left))
+    )
   (load-file "SEMI-CFG")
-  (load-file "../bitmap-mule/BITMAP-ELS")
-  (load-file "../mu/MU-ELS")
-  (load-file "../mel/MEL-ELS")
   (load-file "SEMI-ELS")
-  (princ (format "PREFIX=%s\tEXEC_PREFIX=%s\n" PREFIX EXEC_PREFIX))
+  (princ (format "PREFIX=%s
+LISPDIR=%s\n" PREFIX LISPDIR))
   )
 
 (defun directory= (dir1 dir2)
@@ -32,9 +38,6 @@
 (defun compile-semi ()
   (config-semi)
   (print load-path)
-  (compile-elisp-modules bitmap-modules                "../bitmap-mule")
-  (compile-elisp-modules mu-modules-to-compile "../mu")
-  (compile-elisp-modules mel-modules           "../mel")
   (compile-elisp-modules semi-modules-to-compile ".")
   (compile-elisp-module  'mime-setup           ".")
   )
 (defun install-semi ()
   (config-semi)
   (princ (format "%s\n" emacs-version))
-  (install-elisp-modules bitmap-modules "../bitmap-mule" BITMAP_DIR)
-  (install-elisp-modules mu-modules     "../mu"        MU_DIR)
-  (install-elisp-modules mel-modules    "../mel"       MEL_DIR)
-  (install-elisp-modules semi-modules   "."            SEMI_KERNEL_DIR)
+  (install-elisp-modules semi-modules   "."    SEMI_KERNEL_DIR)
   (install-elisp-modules '(mime-setup)  "."    SETUP_FILE_DIR)
   )
 
   (install-files METHODS METHOD_SRC_DIR METHOD_DIR nil t)
   )
 
+(defun config-semi-package ()
+  (let (package-dir)
+    (and (setq package-dir (car command-line-args-left))
+        (or (string= "NONE" package-dir)
+            (defvar PACKAGEDIR package-dir)
+            ))
+    (setq command-line-args-left (cdr command-line-args-left))
+    (load-file "SEMI-CFG")
+    (load-file "SEMI-ELS")
+                                         
+    (princ (format "PACKAGEDIR=%s\n" PACKAGEDIR))
+    ))
+
+(defun compile-semi-package ()
+  (config-semi-package)
+
+  (if (fboundp 'batch-update-directory-autoloads)
+      ;; XEmacs 21.5.19 and newer.
+      (progn
+       (add-to-list 'command-line-args-left ".")
+       (add-to-list 'command-line-args-left "semi")
+       (batch-update-directory-autoloads))
+    (setq autoload-package-name "semi")
+    (add-to-list 'command-line-args-left ".")
+    (batch-update-directory))
+
+  (add-to-list 'command-line-args-left ".")
+  (Custom-make-dependencies)
+
+  (compile-elisp-modules (append semi-modules-to-compile
+                                '(mime-setup auto-autoloads custom-load))
+                        ".")
+  )
+
+(defun install-semi-package ()
+  (config-semi-package)
+  (install-elisp-modules (append semi-modules
+                                '(mime-setup auto-autoloads custom-load))
+                        "./"
+                        (expand-file-name SEMI_PREFIX
+                                          (expand-file-name "lisp"
+                                                            PACKAGEDIR)))
+  (delete-file "./auto-autoloads.el")
+  (delete-file "./custom-load.el")
+  )
+
 ;;; SEMI-MK ends here