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

📄 makefile

📁 一个MIPS虚拟机的源码
💻
字号:
CC =mipsel-ecoff-gcc 
LD =mipsel-ecoff-ld
OBJDUMP =mipsel-ecoff-objdump
OBJCOPY =mipsel-ecoff-objcopy
DD = dd

CC-FLAGS =  -EL -mno-abicalls -fno-pic -g 
CC-FLAGS-ASM = -c -x assembler-with-cpp -EL -fno-pic 
LD-FLAGS = -EL -T ld.script
OBJCOPY-FLAGS =  -O binary
OBJDUMP-FLAGS = -d 


	


all:add.rom  addi.rom bc0.rom  bgezal.rom  bgtz.rom blez.rom bltz.rom bltzal.rom \
	load.rom logical.rom mthi_lo.rom multu.rom numble.rom shift.rom slti.rom store.rom sub.rom \
	tlbwr.rom hello.rom echo.rom
	
	

hello.rom: hello.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
hello.exe: setup.o  hello.o 
	$(LD)  $(LD-FLAGS) -o $@ $^
hello.o:hello.c
	$(CC)  $(CC-FLAGS) -o $@ -c  $<
setup.o:setup.S
	$(CC)  $(CC-FLAGS-ASM) -o $@ $<

echo.rom: echo.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
echo.exe: setup.o  echo.o 
	$(LD)  $(LD-FLAGS) -o $@ $^
echo.o:echo.c
	$(CC)  $(CC-FLAGS) -o $@ -c  $<


tlbwr.rom:tlbwr.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
tlbwr.exe: setup.o  tlbwr.o 
	$(LD)  $(LD-FLAGS) -o $@ $^
	/home/root/mips-tool-chain/bin/mipsel-ecoff-ld -EL -T  ld.script -o tlbwr.exe setup.o tlbwr.o 
tlbwr.o:tlbwr.S
	$(CC)  $(CC-FLAGS-ASM) -o $@ $<
	/home/root/mips-tool-chain/bin/mipsel-ecoff-gcc -EL -mno-abicalls -fno-pic -g  -o tlbwr.o -c tlbwr.S 

add.rom:add.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
add.exe: add.o 
	$(LD)  $(LD-FLAGS) -o $@ $^
add.o:add.S
	$(CC)  $(CC-FLAGS-ASM) -o $@ $<

addi.rom:addi.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
addi.exe:addi.o
	$(LD)  $(LD-FLAGS) -o $@ $^
addi.o:addi.S
	$(CC)  $(CC-FLAGS-ASM) -o $@ $<

bc0.rom:bc0.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
bc0.exe:bc0.o
	$(LD)  $(LD-FLAGS) -o $@ $^
bc0.o:bc0.S
	$(CC)  $(CC-FLAGS-ASM) -o $@ $<

bgezal.rom:bgezal.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
bgezal.exe:bgezal.o
	$(LD)  $(LD-FLAGS) -o $@ $^
bgezal.o:bgezal.S
	$(CC)  $(CC-FLAGS-ASM) -o $@ $<

bgtz.rom:bgtz.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
bgtz.exe:bgtz.o
	$(LD)  $(LD-FLAGS) -o $@ $^
bgtz.o:bgtz.S
	$(CC)  $(CC-FLAGS-ASM) -o $@ $<

	
blez.rom:blez.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
blez.exe:blez.o
	$(LD)  $(LD-FLAGS) -o $@ $^
blez.o:blez.S
	$(CC)  $(CC-FLAGS-ASM) -o $@ $<

bltz.rom:bltz.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
bltz.exe:bltz.o
	$(LD)  $(LD-FLAGS) -o $@ $^
bltz.o:bltz.S
	$(CC)  $(CC-FLAGS-ASM) -o $@ $<

bltzal.rom:bltzal.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
bltzal.exe:bltzal.o
	$(LD)  $(LD-FLAGS) -o $@ $^
bltzal.o:bltzal.S
	$(CC)  $(CC-FLAGS-ASM) -o $@ $<

load.rom:load.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
load.exe:load.o
	$(LD)  $(LD-FLAGS) -o $@ $^
load.o:load.S
	$(CC)  $(CC-FLAGS-ASM) -o $@ $<

logical.rom:logical.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
logical.exe:logical.o
	$(LD)  $(LD-FLAGS) -o $@ $^
logical.o:logical.S
	$(CC)  $(CC-FLAGS-ASM) -o $@ $<	

mthi_lo.rom:mthi_lo.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
mthi_lo.exe:mthi_lo.o
	$(LD)  $(LD-FLAGS) -o $@ $^
mthi_lo.o:mthi_lo.S
	$(CC)  $(CC-FLAGS-ASM) -o $@ $<	
	
multu.rom:multu.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
multu.exe:multu.o
	$(LD)  $(LD-FLAGS) -o $@ $^
multu.o:multu.S
	$(CC)  $(CC-FLAGS-ASM) -o $@ $<

numble.rom:numble.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
numble.exe:numble.o
	$(LD)  $(LD-FLAGS) -o $@ $^
numble.o:numble.S
	$(CC)  $(CC-FLAGS-ASM) -o $@ $<


shift.rom:shift.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
shift.exe:shift.o
	$(LD)  $(LD-FLAGS) -o $@ $^
shift.o:shift.S
	$(CC)  $(CC-FLAGS-ASM) -o $@ $<

slti.rom:slti.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
slti.exe:slti.o
	$(LD)  $(LD-FLAGS) -o $@ $^
slti.o:slti.S
	$(CC)  $(CC-FLAGS-ASM) -o $@ $<

store.rom:store.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
store.exe:store.o
	$(LD)  $(LD-FLAGS) -o $@ $^
store.o:store.S
	$(CC)  $(CC-FLAGS-ASM) -o $@ $<
	

sub.rom:sub.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
sub.exe:sub.o
	$(LD)  $(LD-FLAGS) -o $@ $^
sub.o:sub.S
	$(CC)  $(CC-FLAGS-ASM) -o $@ $<

	
clean:
	rm *.o *.tmp *.asm *.exe *.rom 

⌨️ 快捷键说明

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