Message ID | 20200713011321.6905-1-danomimanchego123@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [1/1] Makefile: use order-only dependency so symlinks are made only once | expand |
Danomi, All, On 2020-07-12 21:13 -0400, Danomi Manchego spake thusly: > The staging symlink is being created on every invocation of "make" as it > depends on its destination directory, which is modified when the symlink > is created. This is prevented by changing the destination directory > dependency to be order-only. > > Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com> I've extended and clarified the comit log, because the wording was a bit confusing (some would interpret it as "the directory pointed at by the symlink changes when the symlink is created"). Applied to master, thanks. Regards, Yann E. MORIN. > --- > Makefile | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/Makefile b/Makefile > index 04c29b1c71..a8e0ee02c5 100644 > --- a/Makefile > +++ b/Makefile > @@ -457,12 +457,12 @@ endif > > ifneq ($(HOST_DIR),$(BASE_DIR)/host) > HOST_DIR_SYMLINK = $(BASE_DIR)/host > -$(HOST_DIR_SYMLINK): $(BASE_DIR) > +$(HOST_DIR_SYMLINK): | $(BASE_DIR) > ln -snf $(HOST_DIR) $(HOST_DIR_SYMLINK) > endif > > STAGING_DIR_SYMLINK = $(BASE_DIR)/staging > -$(STAGING_DIR_SYMLINK): $(BASE_DIR) > +$(STAGING_DIR_SYMLINK): | $(BASE_DIR) > ln -snf $(STAGING_DIR) $(STAGING_DIR_SYMLINK) > > # Quotes are needed for spaces and all in the original PATH content. > -- > 2.17.1 > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot
>>>>> "Danomi" == Danomi Manchego <danomimanchego123@gmail.com> writes: > The staging symlink is being created on every invocation of "make" as it > depends on its destination directory, which is modified when the symlink > is created. This is prevented by changing the destination directory > dependency to be order-only. > Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com> Committed to 2020.02.x and 2020.05.x, thanks.
diff --git a/Makefile b/Makefile index 04c29b1c71..a8e0ee02c5 100644 --- a/Makefile +++ b/Makefile @@ -457,12 +457,12 @@ endif ifneq ($(HOST_DIR),$(BASE_DIR)/host) HOST_DIR_SYMLINK = $(BASE_DIR)/host -$(HOST_DIR_SYMLINK): $(BASE_DIR) +$(HOST_DIR_SYMLINK): | $(BASE_DIR) ln -snf $(HOST_DIR) $(HOST_DIR_SYMLINK) endif STAGING_DIR_SYMLINK = $(BASE_DIR)/staging -$(STAGING_DIR_SYMLINK): $(BASE_DIR) +$(STAGING_DIR_SYMLINK): | $(BASE_DIR) ln -snf $(STAGING_DIR) $(STAGING_DIR_SYMLINK) # Quotes are needed for spaces and all in the original PATH content.
The staging symlink is being created on every invocation of "make" as it depends on its destination directory, which is modified when the symlink is created. This is prevented by changing the destination directory dependency to be order-only. Signed-off-by: Danomi Manchego <danomimanchego123@gmail.com> --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)