]> code.delx.au - gnu-emacs-elpa/blobdiff - GNUmakefile
* GNUmakefile: Obey a .elpaignore file in a package's root directory.
[gnu-emacs-elpa] / GNUmakefile
index 0fac72be8032fa309b2c833c6168584bb4d6f85d..2b077678f37ae6a0d1b6aa5e0e6fe409272943b5 100644 (file)
@@ -42,15 +42,21 @@ process-archive:
        # FIXME, we could probably speed this up significantly with
        # rules like "%.tar: ../%/ChangeLog" so we only rebuild the packages
        # that have indeed changed.
-       cd $(ARCHIVE_TMP)/packages; \
-         $(EMACS) -l $(CURDIR)/admin/archive-contents.el \
-           -f batch-make-archive
-       @cd $(ARCHIVE_TMP)/packages; \
-         for pt in *; do \
-             if [ -d $$pt ]; then \
-                 echo "Creating tarball $${pt}.tar" && \
-                 tar -cf $${pt}.tar $$pt --remove-files; \
-             fi; \
+       cd $(ARCHIVE_TMP)/packages;                             \
+         $(EMACS) -l $(CURDIR)/admin/archive-contents.el       \
+                  -f batch-make-archive
+       @cd $(ARCHIVE_TMP)/packages;                            \
+         for pt in *; do                                       \
+             if [ -f "$${pt}/.elpaignore" ]; then              \
+                 ignore="$${pt}/.elpaignore";                  \
+             else                                              \
+                 ignore="/dev/null";                           \
+             fi;                                               \
+             if [ -d $$pt ]; then                              \
+                 echo "Creating tarball $${pt}.tar" &&         \
+                 tar -cf $${pt}.tar $$pt -X "$$ignore";        \
+                 rm -r $${pt};                                 \
+             fi;                                               \
          done
        mkdir -p archive/packages
        mv archive/packages archive/packages-old