
CWD = $(shell pwd)
WORKDIR := mamefs

IMAGE := mamefs-fs
BLOCKS := $(shell expr 150 \* 1024)

NR_FILES_AND_DIRS = $(shell find $(WORKDIR) | wc -l)
NR_DIRS = $(shell find $(WORKDIR) -type d | wc -l)

all: mamefs-fs.bz2

mamefs-blank:
	$(eval NR_INODES := $(shell expr $(NR_FILES_AND_DIRS) + $(NR_DIRS)))
	dd if=/dev/zero of=$(IMAGE) count=$(BLOCKS) bs=1k
	@echo "$(NR_INODES) inodes, $(BLOCKS) blocks"
	mke2fs -F -b 4096 -N $(NR_INODES) -m 0 $(IMAGE)
	tune2fs -c 0 -i 0 $(IMAGE)

mamefs-fs: mamefs mamefs-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

mamefs-fs.bz2: mamefs-fs
	@echo done


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

realclean:
	-rm mamefs-fs
	-rm mamefs-fs.bz2

FORCE:

