(push (expand-file-name "elpa" f) result)))
(cons
;; And the inbuild ELPA directory
- (concat (expand-file-name "../packages" data-directory))
+ (concat (expand-file-name "../packages/core" data-directory))
(nreverse result)))
"List of additional directories containing Emacs Lisp packages.
Each directory name should be absolute.
(let ((descr
(package-desc-create :name (make-symbol dir)))
(location (package-build-dir dir)))
- (archive--refresh-pkg-file location)
+ (archive-refresh-pkg-file location)
(setq descr (package-load-descriptor location))
(package-generate-autoloads (package-desc-name descr) location)
(package-activate descr)
-(defvar package-makefile-archives
- '("core")
- "List of directories with packages in them.
-
-Directories can be either relative to the \"packages\" directory
-or absolute. The order is important because we want to only build
-packages which occur earlier in the list.")
-
-(defvar package-makefile--packages-seen nil
- "List of packages we have already seen.")
-
(defun package-makefile--package-dirs (directory)
(directory-files directory nil "[^.].*"))
-
(defun package-makefile--target-pkg-el (top-dir base-dir)
(format
"%s-pkg: %s/%s/%s-pkg.el
top-dir base-dir base-dir
top-dir base-dir))
-(defun package-makefile--makefile-pkg-targets (top-dir)
+(defun package-makefile--makefile-pkg-targets (top-dir all-dirs)
(concat
"pkg-all: "
(mapconcat
'identity
- (package-makefile--package-dirs top-dir) "" "-pkg ")
+ all-dirs
+ "-pkg ")
+ "-pkg"
"\n\n"
(mapconcat
(lambda (base-dir)
(package-makefile--target-pkg-el top-dir base-dir))
- (package-makefile--package-dirs top-dir)
+ all-dirs
"\n")))
+
+(defun package-makefile--core-packages ()
+ (package-makefile--package-dirs "core"))
+
(defun package-makefile--makefile ()
- (mapconcat
- (lambda (top-dir)
- (package-makefile--makefile-pkg-targets top-dir))
- package-makefile-archives
+ (concat
+ (package-makefile--makefile-pkg-targets
+ "core"
+ (package-makefile--core-packages))
"\n"))
(with-temp-buffer
(insert
(package-makefile--makefile))
-
(write-file "gnumakefile-inc.mk")))
;; example: core/example/example-pkg.el
--- /dev/null
+;;; example.el --- An Example
+
+;;; Header:
+
+;; This file is not part of Emacs
+
+;; Author: Phillip Lord <phillip.lord@russet.org.uk>
+;; Maintainer: Phillip Lord <phillip.lord@russet.rg.uk>
+;; Version: 0.1
+
+;;;###autoload
+(defun example ()
+ (interactive)
+ (message "Hello from Example"))
--- /dev/null
+;;; example2.el --- An Example
+
+;;; Header:
+
+;; This file is not part of Emacs
+
+;; Author: Phillip Lord <phillip.lord@russet.org.uk>
+;; Maintainer: Phillip Lord <phillip.lord@russet.rg.uk>
+;; Version: 0.1
+
+;;;###autoload
+(defun example2 ()
+ (interactive)
+ (message "Hello from Example2"))