Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/f9f8129199736929ef7e9f100a38149a3b9d1ce1
...commit
http://git.netsurf-browser.org/netsurf.git/commit/f9f8129199736929ef7e9f100a38149a3b9d1ce1
...tree
http://git.netsurf-browser.org/netsurf.git/tree/f9f8129199736929ef7e9f100a38149a3b9d1ce1
The branch, master has been updated
via f9f8129199736929ef7e9f100a38149a3b9d1ce1 (commit)
from 44225f1b34eb1d393a74cc44dcfc32d102205ef6 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=f9f8129199736929ef7e9f100a38149a3b9d1ce1
commit f9f8129199736929ef7e9f100a38149a3b9d1ce1
Author: Daniel Silverstone <[email protected]>
Commit: Daniel Silverstone <[email protected]>
Makefile: Determine and use linker deps
Signed-off-by: Daniel Silverstone <[email protected]>
diff --git a/Makefile b/Makefile
index 9fb2c84..ec9e813 100644
--- a/Makefile
+++ b/Makefile
@@ -609,6 +609,10 @@ CFLAGS += -DSTMTEXPR=1
CXXFLAGS += -DSTMTEXPR=1
endif
+# We trace during link so that we can determine if a libary changes under us in
+# order to re-link. This *may* be gcc specific, so may need tweaks in future.
+LDFLAGS += -Wl,--trace
+
# ----------------------------------------------------------------------------
# General make rules
# ----------------------------------------------------------------------------
@@ -718,15 +722,18 @@ OBJECTS := $(sort $(addprefix $(OBJROOT)/,$(subst
/,_,$(patsubst %.c,%.o,$(patsu
# Include directory flags
IFLAGS = $(addprefix -I,$(INCLUDE_DIRS))
-$(EXETARGET): $(OBJECTS) $(RESOURCES) $(MESSAGES)
+$(EXETARGET): $(OBJECTS) $(RESOURCES) $(MESSAGES) tools/linktrace-to-depfile.pl
$(VQ)echo " LINK: $(EXETARGET)"
ifneq ($(TARGET)$(SUBTARGET),riscos-elf)
- $(Q)$(CC) -o $(EXETARGET) $(OBJECTS) $(LDFLAGS)
+ $(Q)$(CC) -o $(EXETARGET) $(OBJECTS) $(LDFLAGS) > $(DEPROOT)/link-raw.d
else
- $(Q)$(CXX) -o $(EXETARGET:,ff8=,e1f) $(OBJECTS) $(LDFLAGS)
+ $(Q)$(CXX) -o $(EXETARGET:,ff8=,e1f) $(OBJECTS) $(LDFLAGS) >
$(DEPROOT)/link-raw.d
$(Q)$(ELF2AIF) $(EXETARGET:,ff8=,e1f) $(EXETARGET)
$(Q)$(RM) $(EXETARGET:,ff8=,e1f)
endif
+ $(VQ)echo "LINKDEPS: $(EXETARGET)"
+ $(Q)echo -n "$(EXETARGET) $(DEPROOT)/link.d: " > $@
+ $(Q)$(PERL) tools/linktrace-to-depfile.pl < $(DEPROOT)/link-raw.d >>
$(DEPROOT)/link.d
ifeq ($(NETSURF_STRIP_BINARY),YES)
$(VQ)echo " STRIP: $(EXETARGET)"
$(Q)$(STRIP) $(EXETARGET)
@@ -743,7 +750,6 @@ ifeq ($(TARGET),beos)
$(Q)$(BEOS_MIMESET) $(EXETARGET)
endif
-
clean-target:
$(VQ)echo " CLEAN: $(EXETARGET)"
$(Q)$(RM) $(EXETARGET)
@@ -855,6 +861,7 @@ $(eval $(foreach SOURCE,$(filter %.m,$(SOURCES)), \
ifeq ($(filter $(MAKECMDGOALS),clean test coverage),)
-include $(sort $(addprefix $(DEPROOT)/,$(DEPFILES)))
+-include $(DEPROOT)/link.d
endif
# And rules to build the objects themselves...
-----------------------------------------------------------------------
Summary of changes:
Makefile | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/Makefile b/Makefile
index 9fb2c84..ec9e813 100644
--- a/Makefile
+++ b/Makefile
@@ -609,6 +609,10 @@ CFLAGS += -DSTMTEXPR=1
CXXFLAGS += -DSTMTEXPR=1
endif
+# We trace during link so that we can determine if a libary changes under us in
+# order to re-link. This *may* be gcc specific, so may need tweaks in future.
+LDFLAGS += -Wl,--trace
+
# ----------------------------------------------------------------------------
# General make rules
# ----------------------------------------------------------------------------
@@ -718,15 +722,18 @@ OBJECTS := $(sort $(addprefix $(OBJROOT)/,$(subst
/,_,$(patsubst %.c,%.o,$(patsu
# Include directory flags
IFLAGS = $(addprefix -I,$(INCLUDE_DIRS))
-$(EXETARGET): $(OBJECTS) $(RESOURCES) $(MESSAGES)
+$(EXETARGET): $(OBJECTS) $(RESOURCES) $(MESSAGES) tools/linktrace-to-depfile.pl
$(VQ)echo " LINK: $(EXETARGET)"
ifneq ($(TARGET)$(SUBTARGET),riscos-elf)
- $(Q)$(CC) -o $(EXETARGET) $(OBJECTS) $(LDFLAGS)
+ $(Q)$(CC) -o $(EXETARGET) $(OBJECTS) $(LDFLAGS) > $(DEPROOT)/link-raw.d
else
- $(Q)$(CXX) -o $(EXETARGET:,ff8=,e1f) $(OBJECTS) $(LDFLAGS)
+ $(Q)$(CXX) -o $(EXETARGET:,ff8=,e1f) $(OBJECTS) $(LDFLAGS) >
$(DEPROOT)/link-raw.d
$(Q)$(ELF2AIF) $(EXETARGET:,ff8=,e1f) $(EXETARGET)
$(Q)$(RM) $(EXETARGET:,ff8=,e1f)
endif
+ $(VQ)echo "LINKDEPS: $(EXETARGET)"
+ $(Q)echo -n "$(EXETARGET) $(DEPROOT)/link.d: " > $@
+ $(Q)$(PERL) tools/linktrace-to-depfile.pl < $(DEPROOT)/link-raw.d >>
$(DEPROOT)/link.d
ifeq ($(NETSURF_STRIP_BINARY),YES)
$(VQ)echo " STRIP: $(EXETARGET)"
$(Q)$(STRIP) $(EXETARGET)
@@ -743,7 +750,6 @@ ifeq ($(TARGET),beos)
$(Q)$(BEOS_MIMESET) $(EXETARGET)
endif
-
clean-target:
$(VQ)echo " CLEAN: $(EXETARGET)"
$(Q)$(RM) $(EXETARGET)
@@ -855,6 +861,7 @@ $(eval $(foreach SOURCE,$(filter %.m,$(SOURCES)), \
ifeq ($(filter $(MAKECMDGOALS),clean test coverage),)
-include $(sort $(addprefix $(DEPROOT)/,$(DEPFILES)))
+-include $(DEPROOT)/link.d
endif
# And rules to build the objects themselves...
--
NetSurf Browser
_______________________________________________
netsurf-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]