
CWD = $(shell pwd)
WORKDIR := workdir

IMAGE := ramdisk.image
BLOCKS := 1700

all: ramdisk.image.gz

ramdisk.image.gz: ramdisk-image
	gzip -f -9 $(IMAGE)

ramdisk-image: workdir ramdisk-image-blank
	-rm -rf $(IMAGE).dir/
	mkdir $(IMAGE).dir 2> /dev/null
	mount -o loop $(IMAGE) $(IMAGE).dir
	(cd $(WORKDIR) && tar cf - .) | (cd $(IMAGE).dir && tar xvf -)
	umount $(IMAGE).dir

workdir: FORCE
	-rm -rf $(WORKDIR)/
	mkdir $(WORKDIR)
	(cd shipped && tar cf - .) | (cd $(WORKDIR) && tar xvf -)


ramdisk-image-blank:
	dd if=/dev/zero of=$(IMAGE) count=$(BLOCKS) bs=1k
	mke2fs -F -m 0 $(IMAGE)
	tune2fs -c 0 -i 0 $(IMAGE)

clean:
	-umount $(IMAGE).dir
	-rm -rf $(IMAGE).dir/
	-rm -rf $(WORKDIR)/

realclean: clean
	-rm ramdisk.image.gz

FORCE:


