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: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Thomas Petazzoni 2010-02-21 15:50:18 +01:00
parent 520dd9fbe5
commit e83529882b

View File

@ -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