⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 美国mit操作系统课程所用的一个教学操作系统xv6
💻
字号:
OBJS = \	bio.o\	console.o\	exec.o\	file.o\	fs.o\	ide.o\	ioapic.o\	kalloc.o\	kbd.o\	lapic.o\	main.o\	mp.o\	picirq.o\	pipe.o\	proc.o\	spinlock.o\	string.o\	swtch.o\	syscall.o\	sysfile.o\	sysproc.o\	timer.o\	trapasm.o\	trap.o\	vectors.o\# Cross-compiling (e.g., on Mac OS X)#TOOLPREFIX = i386-jos-elf-# Using native tools (e.g., on X86 Linux)TOOLPREFIX = CC = $(TOOLPREFIX)gccAS = $(TOOLPREFIX)gasLD = $(TOOLPREFIX)ldOBJCOPY = $(TOOLPREFIX)objcopyOBJDUMP = $(TOOLPREFIX)objdumpCFLAGS = -fno-builtin -O2 -Wall -MD -ggdb -m32CFLAGS += $(shell $(CC) -fno-stack-protector -E -x c /dev/null >/dev/null 2>&1 && echo -fno-stack-protector)ASFLAGS = -m32# FreeBSD ld wants ``elf_i386_fbsd''LDFLAGS += -m $(shell $(LD) -V | grep elf_i386 2>/dev/null)xv6.img: bootblock kernel fs.img	dd if=/dev/zero of=xv6.img count=10000	dd if=bootblock of=xv6.img conv=notrunc	dd if=kernel of=xv6.img seek=1 conv=notruncbootblock: bootasm.S bootmain.c	$(CC) $(CFLAGS) -O -nostdinc -I. -c bootmain.c	$(CC) $(CFLAGS) -nostdinc -I. -c bootasm.S	$(LD) $(LDFLAGS) -N -e start -Ttext 0x7C00 -o bootblock.o bootasm.o bootmain.o	$(OBJDUMP) -S bootblock.o > bootblock.asm	$(OBJCOPY) -S -O binary bootblock.o bootblock	./sign.pl bootblockbootother: bootother.S	$(CC) $(CFLAGS) -nostdinc -I. -c bootother.S	$(LD) $(LDFLAGS) -N -e start -Ttext 0x7000 -o bootother.out bootother.o	$(OBJCOPY) -S -O binary bootother.out bootother	$(OBJDUMP) -S bootother.o > bootother.asminitcode: initcode.S	$(CC) $(CFLAGS) -nostdinc -I. -c initcode.S	$(LD) $(LDFLAGS) -N -e start -Ttext 0 -o initcode.out initcode.o	$(OBJCOPY) -S -O binary initcode.out initcode	$(OBJDUMP) -S initcode.o > initcode.asmkernel: $(OBJS) bootother initcode	$(LD) $(LDFLAGS) -Ttext 0x100000 -e main -o kernel $(OBJS) -b binary initcode bootother	$(OBJDUMP) -S kernel > kernel.asm	$(OBJDUMP) -t kernel | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$$/d' > kernel.symtags: $(OBJS) bootother.S _init	etags *.S *.cvectors.S: vectors.pl	perl vectors.pl > vectors.SULIB = ulib.o usys.o printf.o umalloc.o_%: %.o $(ULIB)	$(LD) $(LDFLAGS) -N -e main -Ttext 0 -o $@ $^	$(OBJDUMP) -S $@ > $*.asm	$(OBJDUMP) -t $@ | sed '1,/SYMBOL TABLE/d; s/ .* / /; /^$$/d' > $*.sym_forktest: forktest.o $(ULIB)	# forktest has less library code linked in - needs to be small	# in order to be able to max out the proc table.	$(LD) $(LDFLAGS) -N -e main -Ttext 0 -o _forktest forktest.o ulib.o usys.o	$(OBJDUMP) -S _forktest > forktest.asmmkfs: mkfs.c fs.h	gcc $(CFLAGS) -Wall -o mkfs mkfs.cUPROGS=\	_cat\	_echo\	_forktest\	_grep\	_init\	_kill\	_ln\	_ls\	_mkdir\	_rm\	_sh\	_usertests\	_wc\	_zombie\fs.img: mkfs README $(UPROGS)	./mkfs fs.img README $(UPROGS)-include *.dclean: 	rm -f *.tex *.dvi *.idx *.aux *.log *.ind *.ilg \	*.o *.d *.asm *.sym vectors.S parport.out \	bootblock kernel xv6.img fs.img mkfs \	$(UPROGS)# make a printoutFILES = $(shell grep -v '^\#' runoff.list)PRINT = runoff.list $(FILES)xv6.pdf: $(PRINT)	./runoffprint: xv6.pdf# run in emulatorsbochs : fs.img xv6.img	if [ ! -e .bochsrc ]; then ln -s dot-bochsrc .bochsrc; fi	bochs -qqemu: fs.img xv6.img	qemu -parallel stdio -hdb fs.img xv6.img

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -