* same with xv6
[mascara-docs.git] / i386 / ucla / src / lab5 / fs / Makefrag
blobe10480862445381e01846cf0c55fec9af80fafcb
1 OBJDIRS += fs
3 FSOFILES :=             $(OBJDIR)/fs/ide.o \
4                         $(OBJDIR)/fs/bufcache.o
6 USERAPPS :=             $(OBJDIR)/user/init
8 FSIMGTXTFILES :=        fs/marriage \
9                         fs/motd \
10                         fs/newmotd
12 USERAPPS :=             $(USERAPPS) \
13                         $(OBJDIR)/user/cat \
14                         $(OBJDIR)/user/echo \
15                         $(OBJDIR)/user/ls \
16                         $(OBJDIR)/user/lsfd \
17                         $(OBJDIR)/user/num \
18                         $(OBJDIR)/user/forktree \
19                         $(OBJDIR)/user/primes \
20                         $(OBJDIR)/user/primespipe \
21                         $(OBJDIR)/user/sh \
22                         $(OBJDIR)/user/testfdsharing \
23                         $(OBJDIR)/user/testkbd \
24                         $(OBJDIR)/user/testpipe \
25                         $(OBJDIR)/user/testpteshare \
26                         $(OBJDIR)/user/testshell
28 FSIMGTXTFILES :=        $(FSIMGTXTFILES) \
29                         fs/lorem \
30                         fs/script \
31                         fs/testshell.key \
32                         fs/testshell.sh
35 FSIMGFILES := $(FSIMGTXTFILES) $(USERAPPS)
37 $(OBJDIR)/fs/%.o: fs/%.c fs/ide.h inc/lib.h
38         @echo + cc[USER] $<
39         @mkdir -p $(@D)
40         $(V)$(CXX) -nostdinc $(USER_CXXFLAGS) -c -o $@ $<
42 $(OBJDIR)/fs/bufcache: $(FSOFILES) $(OBJDIR)/lib/entry.o $(OBJDIR)/lib/libjos.a user/user.ld
43         @echo + ld $@
44         $(V)mkdir -p $(@D)
45         $(V)$(LD) -o $@ $(ULDFLAGS) $(LDFLAGS) -nostdlib \
46                 $(OBJDIR)/lib/entry.o $(FSOFILES) \
47                 -L$(OBJDIR)/lib -ljos $(GCC_LIB)
48         $(V)$(OBJDUMP) -S $@ > $@.asm
49         $(V)$(NM) -n $@ > $@.sym
51 # How to build the file system image
52 $(OBJDIR)/fs/fsformat: fs/fsformat.c
53         @echo + mk $(OBJDIR)/fs/fsformat
54         $(V)mkdir -p $(@D)
55         $(V)gcc $(HOST_CFLAGS) -o $(OBJDIR)/fs/fsformat fs/fsformat.c
57 $(OBJDIR)/clean-fs.img: $(OBJDIR)/fs/fsformat $(FSIMGFILES)
58         @echo + mk $(OBJDIR)/clean-fs.img
59         $(V)mkdir -p $(@D)
60         $(V)$(OBJDIR)/fs/fsformat $(OBJDIR)/clean-fs.img 1024 128 $(FSIMGFILES)
62 $(OBJDIR)/fs.img: $(OBJDIR)/clean-fs.img
63         @echo + cp $(OBJDIR)/clean-fs.img $@
64         $(V)cp $(OBJDIR)/clean-fs.img $@
66 all: $(OBJDIR)/fs.img
68 #all: $(addsuffix .sym, $(USERAPPS))
70 #all: $(addsuffix .asm, $(USERAPPS))