|
@@ -32,55 +32,30 @@ JFFS2_OPTS += -n
|
|
|
SUMTOOL_OPTS += -n
|
|
|
endif
|
|
|
|
|
|
-JFFS2_TARGET := $(call qstrip,$(BR2_TARGET_ROOTFS_JFFS2_OUTPUT))
|
|
|
ifneq ($(TARGET_DEVICE_TABLE),)
|
|
|
JFFS2_OPTS += -D $(TARGET_DEVICE_TABLE)
|
|
|
endif
|
|
|
|
|
|
+ROOTFS_JFFS2_DEPENDENCIES = host-mtd
|
|
|
|
|
|
-#
|
|
|
-# mtd-host is a dependency which builds a local copy of mkfs.jffs2 if it is needed.
|
|
|
-# the actual build is done from package/mtd/mtd.mk and it sets the
|
|
|
-# value of MKFS_JFFS2 to either the previously installed copy or the one
|
|
|
-# just built.
|
|
|
-#
|
|
|
-$(JFFS2_TARGET): host-fakeroot host-mtd makedevs
|
|
|
- # Use fakeroot to pretend all target binaries are owned by root
|
|
|
- rm -f $(BUILD_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET))
|
|
|
- touch $(BUILD_DIR)/.fakeroot.00000
|
|
|
- cat $(BUILD_DIR)/.fakeroot* > $(BUILD_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET))
|
|
|
- echo "chown -R 0:0 $(TARGET_DIR)" >> $(BUILD_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET))
|
|
|
-ifneq ($(TARGET_DEVICE_TABLE),)
|
|
|
- # Use fakeroot to pretend to create all needed device nodes
|
|
|
- echo "$(HOST_DIR)/usr/bin/makedevs -d $(TARGET_DEVICE_TABLE) $(TARGET_DIR)" \
|
|
|
- >> $(BUILD_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET))
|
|
|
-endif
|
|
|
- # Use fakeroot so mkfs.jffs2 believes the previous fakery
|
|
|
ifneq ($(BR2_TARGET_ROOTFS_JFFS2_SUMMARY),)
|
|
|
- echo "$(MKFS_JFFS2) $(JFFS2_OPTS) -d $(TARGET_DIR) -o $(JFFS2_TARGET).nosummary && " \
|
|
|
- "$(SUMTOOL) $(SUMTOOL_OPTS) -i $(JFFS2_TARGET).nosummary -o $(JFFS2_TARGET) && " \
|
|
|
- "rm $(JFFS2_TARGET).nosummary" \
|
|
|
- >> $(BUILD_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET))
|
|
|
+define ROOTFS_JFFS2_CMD
|
|
|
+ $(MKFS_JFFS2) $(JFFS2_OPTS) -d $(TARGET_DIR) -o $$@.nosummary && \
|
|
|
+ $(SUMTOOL) $(SUMTOOL_OPTS) -i $$@.nosummary -o $$@ && \
|
|
|
+ rm $$@.nosummary
|
|
|
+endef
|
|
|
else
|
|
|
- echo "$(MKFS_JFFS2) $(JFFS2_OPTS) -d $(TARGET_DIR) -o $(JFFS2_TARGET)" \
|
|
|
- >> $(BUILD_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET))
|
|
|
-endif
|
|
|
- chmod a+x $(BUILD_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET))
|
|
|
- $(HOST_DIR)/usr/bin/fakeroot -- $(BUILD_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET))
|
|
|
- -@rm -f $(BUILD_DIR)/_fakeroot.$(notdir $(JFFS2_TARGET))
|
|
|
- @ls -l $(JFFS2_TARGET)
|
|
|
-ifeq ($(BR2_JFFS2_TARGET_SREC),y)
|
|
|
- $(TARGET_CROSS)objcopy -I binary -O srec --adjust-vma 0xa1000000 $(JFFS2_TARGET) $(JFFS2_TARGET).srec
|
|
|
- @ls -l $(JFFS2_TARGET).srec
|
|
|
+define ROOTFS_JFFS2_CMD
|
|
|
+ $(MKFS_JFFS2) $(JFFS2_OPTS) -d $(TARGET_DIR) -o $$@
|
|
|
+endef
|
|
|
endif
|
|
|
|
|
|
-jffs2root: $(JFFS2_TARGET)
|
|
|
+define JFFS2_GEN_SREC
|
|
|
+ $(TARGET_CROSS)objcopy -I binary -O srec --adjust-vma 0xa1000000 $$@ $$@.srec
|
|
|
+endef
|
|
|
|
|
|
-#############################################################
|
|
|
-#
|
|
|
-# Toplevel Makefile options
|
|
|
-#
|
|
|
-#############################################################
|
|
|
-ifeq ($(BR2_TARGET_ROOTFS_JFFS2),y)
|
|
|
-TARGETS+=jffs2root
|
|
|
+ifeq ($(BR2_JFFS2_TARGET_SREC),y)
|
|
|
+ROOTFS_JFFS2_POST_GEN_HOOKS += JFFS2_GEN_SREC
|
|
|
endif
|
|
|
+
|
|
|
+$(eval $(call ROOTFS_TARGET,jffs2))
|