Commit e8352988 authored by Thomas Petazzoni's avatar Thomas Petazzoni
Browse files

dosfstools: make sure install targets aren't run everytime



Adding real targets to $(TARGETS) doesn't work, since they are
prefixed __real_tgt by the main Makefile. 'make' then always thinks
that these targets aren't up-to-date, and re-generate them every time.

Therefore, we switch dosfstools to the more common way of handling
packages, with a phony target added to $(TARGETS), this phony target
depending on real targets.

Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 520dd9fb
Loading
Loading
Loading
Loading
+19 −13
Original line number Diff line number Diff line
@@ -32,7 +32,8 @@ $(DOSFSTOOLS_DIR)/.built : $(DOSFSTOOLS_DIR)/.unpacked
	$(STRIPCMD) $(DOSFSTOOLS_DIR)/$(DOSFSLABEL_BINARY)
	touch $@

$(TARGET_DIR)/$(MKDOSFS_TARGET_BINARY): $(DOSFSTOOLS_DIR)/.built
$(TARGET_DIR)/$(MKDOSFS_TARGET_BINARY): # $(DOSFSTOOLS_DIR)/.built
	echo foo
	cp -a $(DOSFSTOOLS_DIR)/$(MKDOSFS_BINARY) $@
	touch -c $@

@@ -44,7 +45,20 @@ $(TARGET_DIR)/$(DOSFSLABEL_TARGET_BINARY): $(DOSFSTOOLS_DIR)/.built
	cp -a $(DOSFSTOOLS_DIR)/$(DOSFSLABEL_BINARY) $@
	touch -c $@

dosfstools: $(TARGET_DIR)/$(DOSFSTOOLS_TARGET_BINARY) $(TARGET_DIR)/$(DOSFSCK_TARGET_BINARY)
DOSFSTOOLS=
ifeq ($(BR2_PACKAGE_DOSFSTOOLS_MKDOSFS),y)
DOSFSTOOLS+=$(TARGET_DIR)/$(MKDOSFS_TARGET_BINARY)
endif

ifeq ($(BR2_PACKAGE_DOSFSTOOLS_DOSFSCK),y)
DOSFSTOOLS+=$(TARGET_DIR)/$(DOSFSCK_TARGET_BINARY)
endif

ifeq ($(BR2_PACKAGE_DOSFSTOOLS_DOSFSLABEL),y)
DOSFSTOOLS+=$(TARGET_DIR)/$(DOSFSLABEL_TARGET_BINARY)
endif

dosfstools: $(DOSFSTOOLS)

dosfstools-clean:
	rm -f $(TARGET_DIR)/$(MKDOSFS_TARGET_BINARY)
@@ -60,14 +74,6 @@ dosfstools-dirclean:
# Toplevel Makefile options
#
#############################################################
ifeq ($(BR2_PACKAGE_DOSFSTOOLS_MKDOSFS),y)
TARGETS+=$(TARGET_DIR)/$(MKDOSFS_TARGET_BINARY)
endif

ifeq ($(BR2_PACKAGE_DOSFSTOOLS_DOSFSCK),y)
TARGETS+=$(TARGET_DIR)/$(DOSFSCK_TARGET_BINARY)
endif

ifeq ($(BR2_PACKAGE_DOSFSTOOLS_DOSFSLABEL),y)
TARGETS+=$(TARGET_DIR)/$(DOSFSLABEL_TARGET_BINARY)
ifeq ($(BR2_PACKAGE_DOSFSTOOLS),y)
TARGETS+=dosfstools
endif
 No newline at end of file