summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rwxr-xr-xMakefile.SH10
2 files changed, 12 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index acd0fc1f95..96cd2fad57 100644
--- a/.gitignore
+++ b/.gitignore
@@ -163,6 +163,9 @@ veryclean.sh
U
MANIFEST.new
+# this is used to auto-sort the MANIFEST
+MANIFEST.srt
+
# ignore editor droppings
*.swp
*~
diff --git a/Makefile.SH b/Makefile.SH
index 076bfc3a60..674efb157d 100755
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -311,6 +311,9 @@ PATH_SEP = $p_
MINIPERL_EXE = miniperl\$(EXE_EXT)
MINIPERL = \$(LDLIBPTH) ./miniperl\$(EXE_EXT) -Ilib
+# Macros to invoke sort the MANIFEST during build
+MANIFEST_SRT = MANIFEST.srt
+
!GROK!THIS!
case "$usecrosscompile$perl" in
@@ -563,10 +566,15 @@ splintfiles = $(c1)
@echo `$(CCCMDSRC)` -S $*.c
@`$(CCCMDSRC)` -S $*.c
-all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) $(generated_pods) $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make
+all: $(FIRSTMAKEFILE) $(MINIPERL_EXE) $(generated_pods) $(private) $(unidatafiles) $(public) $(dynamic_ext) $(nonxs_ext) extras.make $(MANIFEST_SRT)
@echo " ";
@echo " Everything is up to date. Type '$(MAKE) test' to run test suite."
+$(MANIFEST_SRT): MANIFEST
+ @perl Porting/manisort -q || (echo "WARNING: re-sorting MANIFEST"; \
+ perl Porting/manisort -q -o MANIFEST; sh -c true)
+ @touch $(MANIFEST_SRT)
+
.PHONY: all utilities
# Both git_version.h and lib/Config_git.pl are built