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))
 | 
						|
 |