diff --git a/Makefile b/Makefile index 9e53c0a0018152900a5739e5ccd6f513a2a324be..3fb25d1a00f88b845341c5ddaac195edb0723db3 100644 --- a/Makefile +++ b/Makefile @@ -31,6 +31,7 @@ SQUASHFS_SOURCE=$(CASPER_SOURCE_DIR)/filesystem.squashfs ROOTFS=$(WORKSPACE)/$(ARCH)/rootfs INITRD=$(WORKSPACE)/$(ARCH)/initrd INITRD_TARGET=$(WORKSPACE)/$(ARCH)/initrd.lz +STATE_DIR=$(WORKSPACE)/$(ARCH)/state $(info Architecture: $(ARCH) ($(ALTARCH))) $(info Workspace: $(WORKSPACE)) @@ -38,7 +39,8 @@ $(info Workspace: $(WORKSPACE)) workspace : $(WORKSPACE) $(WORKSPACE) : - mkdir -p $(WORKSPACE) + mkdir -p "$(WORKSPACE)" + mkdir -p "$(STATE_DIR)" iso_download $(ISO_IMAGE) : | $(WORKSPACE) mkdir -p "$(ISO_IMAGE_DEST)" @@ -49,38 +51,46 @@ iso_download $(ISO_IMAGE) : | $(WORKSPACE) cd "$(ISO_IMAGE_DEST)" && sha256sum -c SHA256SUMS mv "$(ISO_IMAGE_DEST)/$(ISO_NAME)" "$(ISO_IMAGE)" -iso_content $(INITRD_SOURCE) $(SQUASHFS_SOURCE) : $(ISO_IMAGE) +iso_content $(STATE_DIR)/iso_exctracted : $(ISO_IMAGE) mkdir -p "$(ISO_CONTENT)" 7z x -o"$(ISO_CONTENT)" -aos "$(ISO_IMAGE)" + touch "$(STATE_DIR)/iso_exctracted" iso_clean : $(RM) "$(ISO_IMAGE)" $(RM) -r "$(ISO_IMAGE_DEST)" + $(RM) "$(STATE_DIR)/iso_exctracted" #TODO: generic unsquash/squash with magic make variables ($@ etc.) -rootfs_unsquash $(ROOTFS) : | $(SQUASHFS_SOURCE) +rootfs_unsquash $(ROOTFS) : $(STATE_DIR)/iso_exctracted $(RM) -r "$(ROOTFS)" unsquashfs -f -d "$(ROOTFS)" "$(SQUASHFS_SOURCE)" + touch "$(STATE_DIR)/rootfs_extracted" -rootfs_prepare : $(ROOTFS) +rootfs_prepare : $(ROOTFS) : $(STATE_DIR)/rootfs_extracted mkdir -p "$(ROOTFS)/remaster" cp -Lr "$(CURDIR)"/config/copy_to_rootfs_remaster_dir/* "$(ROOTFS)/remaster" rootfs_clean : $(RM) -r "$(ROOTFS)" + $(RM) "$(STATE_DIR)/rootfs_extracted" -initrd_unpack : | $(INITRD_SOURCE) +initrd_unpack $(STATE_DIR)/initrd_extracted : $(STATE_DIR)/iso_exctracted mkdir -p "$(INITRD)" cd "$(INITRD)" && lzma -d < "$(INITRD_SOURCE)" | cpio -i + touch "$(STATE_DIR)/initrd_extracted" initrd_clean : $(RM) -r "$(INITRD)" $(RM) "$(INITRD_TARGET)" + $(RM) "$(STATE_DIR)/initrd_extracted" + $(RM) "$(STATE_DIR)/initrd_remastered" -initrd_remaster : +initrd_remaster $(STATE_DIR)/initrd_remastered : $(STATE_DIR)/initrd_extracted $(CURDIR)/scripts/remaster_initrd.sh "$(CURDIR)" "$(INITRD)" + touch "$(STATE_DIR)/initrd_remastered" -initrd_pack : +initrd_pack $(INITRD_TARGET) : $(STATE_DIR)/initrd_remastered cd "$(INITRD)" && find | cpio -H newc -o | lzma -z > "$(INITRD_TARGET)" config $(CONFIG_FILE) :