Footer fix.
[elisp/apel.git] / APEL-MK
diff --git a/APEL-MK b/APEL-MK
index f81dc42..5bbc2a3 100644 (file)
--- a/APEL-MK
+++ b/APEL-MK
@@ -4,8 +4,45 @@
 
 ;;; Code:
 
+(defun install-just-print-p ()
+  (let ((flag (getenv "MAKEFLAGS"))
+       case-fold-search)
+    (princ (format "%s\n" flag))
+    (if flag
+       (string-match "^\\(\\(--[^ ]+ \\)+-\\|[^ =-]\\)*n" flag)
+      )))
+
+(defun install-update-package-files (package dir &optional just-print)
+  (cond (just-print
+        (princ (format "Updating autoloads in directory %s..\n\n" dir))
+          
+        (princ (format "Processing %s\n" dir))
+        (princ "Generating custom-load.el...\n\n")
+           
+        (princ (format "Compiling %s...\n"
+                       (expand-file-name "auto-autoloads.el" dir)))
+        (princ (format "Wrote %s\n"
+                       (expand-file-name "auto-autoloads.elc" dir)))
+          
+        (princ (format "Compiling %s...\n"
+                       (expand-file-name "custom-load.el" dir)))
+        (princ (format "Wrote %s\n"
+                       (expand-file-name "custom-load.elc" dir)))
+        )
+       (t
+        (setq autoload-package-name package)
+        (add-to-list 'command-line-args-left dir)
+        (batch-update-directory)
+       
+        (add-to-list 'command-line-args-left dir)
+        (Custom-make-dependencies)
+          
+        (byte-compile-file (expand-file-name "auto-autoloads.el" dir))
+        (byte-compile-file (expand-file-name "custom-load.el" dir))
+        )))
+
 (defun config-apel ()
-  (let (prefix lisp-dir)
+  (let (prefix lisp-dir version-specific-lisp-dir)
     (and (setq prefix (car command-line-args-left))
         (or (string-equal "NONE" prefix)
             (defvar PREFIX prefix)
             (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 "APEL-CFG")
     (or (boundp 'apel-modules)
        (load-file "APEL-ELS")
 
 (defun compile-apel ()
   (config-apel)
-  (load "EMU-ELS")
+  (load-file "EMU-ELS")
   (load-file "APEL-ELS")
-  (compile-elisp-modules emu-modules   ".")
-  (compile-elisp-modules apel-modules  ".")
+  (compile-elisp-modules emu-modules-to-compile        ".")
+  (compile-elisp-modules apel-modules          ".")
   )
 
 (defun install-apel ()
   (compile-apel)
-  (install-elisp-modules emu-modules   "."     EMU_DIR)
-  (install-elisp-modules apel-modules  "."     APEL_DIR)
-  )
+  (let ((just-print (install-just-print-p)))
+    (install-elisp-modules emu-modules "." EMU_DIR     just-print)
+    (install-elisp-modules apel-modules        "." APEL_DIR    just-print)
+    ))
 
 (defun config-apel-package ()
   (let (package-dir)
     (setq command-line-args-left (cdr command-line-args-left))
     (load-file "APEL-CFG")
     (load-file "APEL-ELS")
-                                         
+    (load-file "EMU-ELS")
+  
     (princ (format "PACKAGEDIR=%s\n" PACKAGEDIR))
     ))
 
+(defun compile-apel-package ()
+  (config-apel-package)
+  (compile-elisp-modules emu-modules-to-compile        ".")
+  (compile-elisp-modules apel-modules          ".")
+  )
+
 (defun install-apel-package ()
   (config-apel-package)
-  (load "EMU-ELS")
-  
-  (compile-elisp-modules emu-modules   ".")
-  (compile-elisp-modules apel-modules  ".")
-  
-  (let ((dir (expand-file-name APEL_PREFIX
-                              (expand-file-name "lisp"
-                                                PACKAGEDIR))))
-    (install-elisp-modules emu-modules "." dir)
-    (install-elisp-modules apel-modules        "." dir)
-    
-    (setq autoload-package-name "apel")
-    (add-to-list 'command-line-args-left dir)
-    (batch-update-directory)
+  (let ((just-print (install-just-print-p))
+       (dir (expand-file-name APEL_PREFIX
+                              (expand-file-name "lisp" PACKAGEDIR))))
+    (install-elisp-modules emu-modules "." dir just-print)
+    (install-elisp-modules apel-modules        "." dir just-print)
+    (install-update-package-files "apel" dir just-print)
+    ))
 
-    (add-to-list 'command-line-args-left dir)
-    (Custom-make-dependencies)
+(defun what-where-apel ()
+  (config-apel)
+  (load-file "EMU-ELS")
+  (princ (format "
+The files that belong to the EMU modules:
+  %s
+  -> %s
 
-    (byte-compile-file (expand-file-name "auto-autoloads.el" dir))
-    (byte-compile-file (expand-file-name "custom-load.el" dir))
-    ))
+The files that belong to the APEL modules:
+  %s
+  -> %s
+"
+                (mapconcat 'symbol-name emu-modules ", ")
+                EMU_DIR
+                (mapconcat 'symbol-name apel-modules ", ")
+                APEL_DIR)))
 
 ;;; APEL-MK ends here