78 lines
1.9 KiB
Plaintext
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))
|
||
|
|