Fix: ensure archive files do not carry object files from prior builds

In some cases, when NuttX configuration changes and this makes the
object list used to build one of the .a libraries change as well,
since the command used to build it is "ar crs" and this simply appends
the list of object files, the library could still include object
files from prior builds. This commit modifies the ARCHIVE macro to
erase the .a file if it already exists.

Since in some cases this behavior was actually expected (object
files from a subdirectory were appended to a library created one
level above) I added a ARCHIVE_ADD which works as ARCHIVE did.

This change should greatly improve behavior of building after
configuration changes.
This commit is contained in:
Matias N
2020-09-11 22:31:38 -03:00
committed by Xiang Xiao
parent 93eeecff6a
commit 34b34e2d45
5 changed files with 17 additions and 22 deletions
+1 -1
View File
@@ -61,7 +61,7 @@ $(COBJS): %$(OBJEXT): %.c
$(call COMPILE, $<, $@)
.built: .tzbuilt romfs $(OBJS)
$(call ARCHIVE, ..$(DELIM)$(BIN), $(OBJS))
$(call ARCHIVE_ADD, ..$(DELIM)$(BIN), $(OBJS))
$(Q) touch .built
# ROMFS file system containing the TZ database