OBJDIRS += fs FSOFILES := \ $(OBJDIR)/fs/ide.o \ $(OBJDIR)/fs/fs.o \ $(OBJDIR)/fs/serv.o \ $(OBJDIR)/fs/test.o \ USERAPPS := \ $(OBJDIR)/user/cat \ $(OBJDIR)/user/echo \ $(OBJDIR)/user/init \ $(OBJDIR)/user/ls \ $(OBJDIR)/user/lsfd \ $(OBJDIR)/user/num \ $(OBJDIR)/user/forktree \ $(OBJDIR)/user/primes \ FSIMGTXTFILES := \ fs/newmotd \ fs/motd \ FSIMGFILES := $(FSIMGTXTFILES) $(USERAPPS) $(OBJDIR)/fs/fs: $(FSOFILES) $(OBJDIR)/lib/entry.o $(OBJDIR)/lib/libuser.a @echo + ld $@ $(V)mkdir -p $(@D) $(V)$(LD) -o $@ $(ULDFLAGS) $(LDFLAGS) -nostdlib \ $(OBJDIR)/lib/entry.o $(FSOFILES) \ -L$(OBJDIR)/lib -luser $(GCC_LIB) $(V)$(OBJDUMP) -S $@ >$@.asm $(OBJDIR)/fs/%.o: fs/fs.h user/lib.h # How to build the file system image $(OBJDIR)/fs/fsformat: fs/fsformat.c $(V)mkdir -p $(@D) gcc -I. $(DEFS) -o $(OBJDIR)/fs/fsformat fs/fsformat.c $(OBJDIR)/fs/fs.img: $(OBJDIR)/fs/fsformat $(FSIMGFILES) $(V)mkdir -p $(@D) dd if=/dev/zero of=$(OBJDIR)/fs/fs.img bs=4096 count=1024 2>/dev/null $(OBJDIR)/fs/fsformat $(OBJDIR)/fs/fs.img $(FSIMGFILES) all: $(OBJDIR)/fs/fs.img #all: $(addsuffix .sym, $(USERAPPS)) #all: $(addsuffix .asm, $(USERAPPS))