aboutsummaryrefslogtreecommitdiffstats
path: root/gpxe/src/Makefile.housekeeping
diff options
context:
space:
mode:
authorPhilippe Coval <philippe.coval@open.eurogiciel.org>2014-12-17 16:46:29 -0500
committerGene Cumm <gene.cumm@gmail.com>2015-01-05 20:43:13 -0500
commitbe645d7a9848847388a662f6c0f7571d52ed7a05 (patch)
tree8074428b499d413984e372b8d2a0841a4662b4cf /gpxe/src/Makefile.housekeeping
parent5932f124bce94b662b0b7dc9b79cdc4802d4731c (diff)
downloadsyslinux-be645d7a9848847388a662f6c0f7571d52ed7a05.tar.gz
syslinux-be645d7a9848847388a662f6c0f7571d52ed7a05.tar.xz
syslinux-be645d7a9848847388a662f6c0f7571d52ed7a05.zip
build: sort sources to build in a more deterministic way
It has been observed that binaries contents are depending on the order of linked objects. This order is caused by GNU make's wildcard function and the position of sources on filesystem. This change tries to prevent this kind of randomness. Also consider building using -j1 flag to make it even more reproductible. Change-Id: Ie8eee7f336e6f1fa2863c4150d967afd15519f1d Bug: http://bugzilla.syslinux.org/show_bug.cgi?id=57#related Signed-off-by: Philippe Coval <philippe.coval at open.eurogiciel.org>
Diffstat (limited to 'gpxe/src/Makefile.housekeeping')
-rw-r--r--gpxe/src/Makefile.housekeeping12
1 files changed, 6 insertions, 6 deletions
diff --git a/gpxe/src/Makefile.housekeeping b/gpxe/src/Makefile.housekeeping
index 1f5e115f..903ac53f 100644
--- a/gpxe/src/Makefile.housekeeping
+++ b/gpxe/src/Makefile.housekeeping
@@ -246,9 +246,9 @@ endif
#
# BIN has the form bin[-[arch-]platform]
-ARCHS := $(patsubst arch/%,%,$(wildcard arch/*))
+ARCHS := $(patsubst arch/%,%,$(sort $(wildcard arch/*)))
PLATFORMS := $(patsubst config/defaults/%.h,%,\
- $(wildcard config/defaults/*.h))
+ $(sort $(wildcard config/defaults/*.h)))
archs :
@$(ECHO) $(ARCHS)
@@ -307,8 +307,8 @@ srcdirs :
# SRCS lists all .c or .S files found in any SRCDIR
#
-SRCS += $(wildcard $(patsubst %,%/*.c,$(SRCDIRS)))
-SRCS += $(wildcard $(patsubst %,%/*.S,$(SRCDIRS)))
+SRCS += $(sort $(wildcard $(patsubst %,%/*.c,$(SRCDIRS))))
+SRCS += $(sort $(wildcard $(patsubst %,%/*.S,$(SRCDIRS))))
srcs :
@$(ECHO) $(SRCS)
@@ -677,7 +677,7 @@ endef
$(BIN)/%.objs : $(BIN)/%.tmp
$(Q)$(ECHO) $(call objs_list,$<)
$(BIN)/%.sizes : $(BIN)/%.tmp
- $(Q)$(SIZE) -t $(foreach OBJ,$(call objs_list,$<),$(wildcard $(BIN)/$(subst _,?,$(OBJ)).o)) | \
+ $(Q)$(SIZE) -t $(foreach OBJ,$(call objs_list,$<),$(sort $(wildcard $(BIN)/$(subst _,?,$(OBJ)).o))) | \
sort -g
# Get dependency list for the specified target
@@ -807,7 +807,7 @@ $(BIN)/%.o : payload/%.img
$(Q)$(LD) -b binary -r -o $@ $< --undefined obj_payload \
--defsym obj_$*=0
-BOBJS += $(patsubst payload/%.img,$(BIN)/%.o,$(wildcard payload/*.img))
+BOBJS += $(patsubst payload/%.img,$(BIN)/%.o,$(sort $(wildcard payload/*.img)))
# The "allXXXs" targets for each suffix
#