jos/fs/Makefrag
Anish Athalye c67463e23c Lab 5
2018-10-24 20:44:45 -04:00

78 lines
1.9 KiB
Plaintext

OBJDIRS += fs
FSOFILES := $(OBJDIR)/fs/ide.o \
$(OBJDIR)/fs/bc.o \
$(OBJDIR)/fs/fs.o \
$(OBJDIR)/fs/serv.o \
$(OBJDIR)/fs/test.o \
USERAPPS := $(OBJDIR)/user/init
FSIMGTXTFILES := fs/newmotd \
fs/motd
USERAPPS := $(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 \
$(OBJDIR)/user/primespipe \
$(OBJDIR)/user/sh \
$(OBJDIR)/user/testfdsharing \
$(OBJDIR)/user/testkbd \
$(OBJDIR)/user/testpipe \
$(OBJDIR)/user/testpteshare \
$(OBJDIR)/user/testshell \
$(OBJDIR)/user/hello \
$(OBJDIR)/user/faultio \
FSIMGTXTFILES := $(FSIMGTXTFILES) \
fs/lorem \
fs/script \
fs/testshell.key \
fs/testshell.sh
FSIMGFILES := $(FSIMGTXTFILES) $(USERAPPS)
$(OBJDIR)/fs/%.o: fs/%.c fs/fs.h inc/lib.h $(OBJDIR)/.vars.USER_CFLAGS
@echo + cc[USER] $<
@mkdir -p $(@D)
$(V)$(CC) -nostdinc $(USER_CFLAGS) -c -o $@ $<
$(OBJDIR)/fs/fs: $(FSOFILES) $(OBJDIR)/lib/entry.o $(OBJDIR)/lib/libjos.a user/user.ld
@echo + ld $@
$(V)mkdir -p $(@D)
$(V)$(LD) -o $@ $(ULDFLAGS) $(LDFLAGS) -nostdlib \
$(OBJDIR)/lib/entry.o $(FSOFILES) \
-L$(OBJDIR)/lib -ljos $(GCC_LIB)
$(V)$(OBJDUMP) -S $@ >$@.asm
# How to build the file system image
$(OBJDIR)/fs/fsformat: fs/fsformat.c
@echo + mk $(OBJDIR)/fs/fsformat
$(V)mkdir -p $(@D)
$(V)$(NCC) $(NATIVE_CFLAGS) -o $(OBJDIR)/fs/fsformat fs/fsformat.c
$(OBJDIR)/fs/clean-fs.img: $(OBJDIR)/fs/fsformat $(FSIMGFILES)
@echo + mk $(OBJDIR)/fs/clean-fs.img
$(V)mkdir -p $(@D)
$(V)$(OBJDIR)/fs/fsformat $(OBJDIR)/fs/clean-fs.img 1024 $(FSIMGFILES)
$(OBJDIR)/fs/fs.img: $(OBJDIR)/fs/clean-fs.img
@echo + cp $(OBJDIR)/fs/clean-fs.img $@
$(V)cp $(OBJDIR)/fs/clean-fs.img $@
all: $(OBJDIR)/fs/fs.img
#all: $(addsuffix .sym, $(USERAPPS))
#all: $(addsuffix .asm, $(USERAPPS))