CLEAN_FILES += \
	fs/fs.img \
	fs/fs \
	fs/fsformat \

OBJDIRS += fs

FSOFILES := \
	fs/ide.o \
	fs/fs.o \
	fs/serv.o \
	fs/test.o \

FSIMGFILES := \
	fs/lorem \
	fs/motd \
	fs/newmotd \
	fs/script \
	fs/testshell.sh \
	fs/testshell.key \
	fs/testshell.out \
	fs/setupfs.sh \
	fs/out \
	user/cat \
	user/cp \
	user/echo \
	user/init \
	user/ls \
	user/lsfd \
	user/mkdir \
	user/num \
	user/primes \
	user/primespipe \
	user/ps \
	user/rm \
	user/sh \
	user/sync \
	user/testfdsharing \
	user/testkbd \
	user/testpipe \
	user/testptelibrary \
	user/testshell \
	user/touch \

fs/fs:	user/entry.o $(FSOFILES) $(USERLIB)
	@echo ld $@
	@$(LD) -o $@ $(ULDFLAGS) $(LDFLAGS) -nostdlib $^

fs/fs.asm: fs/fs
	$(OBJDUMP) --adjust-vma=0x007ff000 -S $^ >$@

fs/%.o:	fs/fs.h user/lib.h

# How to build the file system image
fs/fsformat: fs/fsformat.c
	gcc -I. -o fs/fsformat fs/fsformat.c

fs/fs.img: fs/fsformat $(FSIMGFILES)
	dd if=/dev/zero of=fs/fs.img bs=4096 count=1024 2>/dev/null
	./fs/fsformat fs/fs.img $(FSIMGFILES)

all: fs/fs.img

.PRECIOUS: fs/%

