btrfs-progs: fix build of standalone utilities after clean
$ make clean $ make btrfs-debug-tree will fail because the dependency from $(btrfs_debug_tree_objects) is missing. The variable standalone_deps magically collects all the deps and will build them in advance. The simple fix to use the existing substitution based on $@ does not work for pattern rules, as Noah found out. Reported-by: Noah Massey <noah.massey@gmail.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
113d1ad49c
commit
338e5832e7
|
@ -129,6 +129,9 @@ btrfs_fragments_libs = -lgd -lpng -ljpeg -lfreetype
|
||||||
btrfs_debug_tree_objects = cmds-inspect-dump-tree.o
|
btrfs_debug_tree_objects = cmds-inspect-dump-tree.o
|
||||||
btrfs_show_super_objects = cmds-inspect-dump-super.o
|
btrfs_show_super_objects = cmds-inspect-dump-super.o
|
||||||
|
|
||||||
|
# collect values of the variables above
|
||||||
|
standalone_deps = $(foreach dep,$(patsubst %,%_objects,$(subst -,_,$(filter btrfs-%, $(progs)))),$($(dep)))
|
||||||
|
|
||||||
SUBDIRS =
|
SUBDIRS =
|
||||||
BUILDDIRS = $(patsubst %,build-%,$(SUBDIRS))
|
BUILDDIRS = $(patsubst %,build-%,$(SUBDIRS))
|
||||||
INSTALLDIRS = $(patsubst %,install-%,$(SUBDIRS))
|
INSTALLDIRS = $(patsubst %,install-%,$(SUBDIRS))
|
||||||
|
@ -251,14 +254,14 @@ $(lib_links):
|
||||||
# For static variants, use an extra $(subst) to get rid of the ".static"
|
# For static variants, use an extra $(subst) to get rid of the ".static"
|
||||||
# from the target name before translating to list of libs
|
# from the target name before translating to list of libs
|
||||||
|
|
||||||
btrfs-%.static: $(static_objects) btrfs-%.static.o $(static_libbtrfs_objects)
|
btrfs-%.static: $(static_objects) btrfs-%.static.o $(static_libbtrfs_objects) $(patsubst %.o,%.static.o,$(standalone_deps))
|
||||||
@echo " [LD] $@"
|
@echo " [LD] $@"
|
||||||
$(Q)$(CC) $(STATIC_CFLAGS) -o $@ $@.o $(static_objects) \
|
$(Q)$(CC) $(STATIC_CFLAGS) -o $@ $@.o $(static_objects) \
|
||||||
$(patsubst %.o, %.static.o, $($(subst -,_,$(subst .static,,$@)-objects))) \
|
$(patsubst %.o, %.static.o, $($(subst -,_,$(subst .static,,$@)-objects))) \
|
||||||
$(static_libbtrfs_objects) $(STATIC_LDFLAGS) \
|
$(static_libbtrfs_objects) $(STATIC_LDFLAGS) \
|
||||||
$($(subst -,_,$(subst .static,,$@)-libs)) $(STATIC_LIBS)
|
$($(subst -,_,$(subst .static,,$@)-libs)) $(STATIC_LIBS)
|
||||||
|
|
||||||
btrfs-%: $(objects) $(libs_static) btrfs-%.o
|
btrfs-%: $(objects) $(libs_static) btrfs-%.o $(standalone_deps)
|
||||||
@echo " [LD] $@"
|
@echo " [LD] $@"
|
||||||
$(Q)$(CC) $(CFLAGS) -o $@ $(objects) $@.o \
|
$(Q)$(CC) $(CFLAGS) -o $@ $(objects) $@.o \
|
||||||
$($(subst -,_,$@-objects)) \
|
$($(subst -,_,$@-objects)) \
|
||||||
|
|
Loading…
Reference in New Issue