$(BUILD_DIR)/filesystem/boot/initfs: $(shell find ./components -type f -not -path "*/target/*")
	@mkdir -p $(BUILD_DIR)/filesystem/boot
	rm -f $@
	make -C tools
	make -C components
	./tools/bin/redox-initfs-ar \
		./components/build \
		./components/build/boot/bootstrap \
		--output $@

$(BUILD_DIR)/filesystem/boot/kernel: $(shell find ./kernel -type f -not -path "*/target/*")
	@mkdir -p $(BUILD_DIR)/filesystem/boot
	cd ./kernel && make
	cp -v kernel/kernel "$@"


$(BUILD_DIR)/filesystem.img: $(BUILD_DIR)/filesystem/boot/kernel $(BUILD_DIR)/filesystem/boot/initfs
	@mkdir -p $(BUILD_DIR)
	rm -f $@.partial
	fallocate -l 254MiB $@.partial
	redoxfs-ar $@.partial $(BUILD_DIR)/filesystem
	mv $@.partial $@