>> In ELPA, 'make archive'

> Why do you need to run that?

The README led me think that's how to build an archive. The README is
silent about running the default make target, so clearly needs an
update.

When I 'make':

  $ make
  # Do them in a sub-make, so that autoloads are done first.
  make elcs
  make[1]: Entering directory `/psd15/linux/boreilly/sw/elpa'
  EMACS -f batch-byte-compile packages/dict-tree/dict-tree.el
 
  In toplevel form:
  packages/dict-tree/dict-tree.el:54:1:Error: Cannot open load file: trie
  make[1]: *** [packages/dict-tree/dict-tree.elc] Error 1
  make[1]: Leaving directory `/psd15/linux/boreilly/sw/elpa'
  make: *** [all-in-place] Error 2

For starters, the output is wrong about the command issued.

diff --git a/GNUmakefile b/GNUmakefile
index 0fac72b..561c2f3 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -123,8 +123,7 @@ elcs := $(call SET-diff, $(naive_elcs), $(patsubst %.el, %.elc, $(nbc_els)))
 
 # '(dolist (al (quote ($(patsubst %, "%", $(autoloads))))) (load (expand-file-name al) nil t))'
 %.elc: %.el
-       @echo 'EMACS -f batch-byte-compile $<'
-       @$(EMACS) \
+       $(EMACS) \
            --eval "(setq package-directory-list '(\"$(abspath packages)\"))" \
            --eval '(package-initialize)' \
            -L $(dir $@) -f batch-byte-compile $<

When I manually add the necessary -L flags (-L packages/trie/ -L
packages/heap/ -L packages/tNFA/ -L packages/queue/) then I could byte
compile with warnings. But how is it supposed to get the load paths?