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

📄 makefile2

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

CC-FLAGS = -c -x assembler-with-cpp -EL -fno-pic 
LD-FLAGS = -EL -T ld.script -o
OBJCOPY-FLAGS =  -O binary
OBJDUMP-FLAGS = -d 
test:
	/home/root/mips-tool-chain/bin/mipsel-ecoff-gcc -EL -mno-abicalls -fno-pic -g  -o hello.o -c hello.c 
	/home/root/mips-tool-chain/bin/mipsel-ecoff-gcc -c -x assembler-with-cpp -EL -fno-pic -o setup.o setup.S 
	/home/root/mips-tool-chain/bin/mipsel-ecoff-ld -EL -T ld.script -o hello.exe setup.o hello.o 
	$(OBJCOPY) $(OBJCOPY-FLAGS)  hello.exe  hello.exe.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) hello.exe >hello.exe.asm
	$(DD) if=hello.exe.tmp of=hello.exe.rom  bs=4096 conv=sync


	/home/root/mips-tool-chain/bin/mipsel-ecoff-gcc -EL -mno-abicalls -fno-pic -g  -o hello.o -c hello.c 
	/home/root/mips-tool-chain/bin/mipsel-ecoff-gcc -c -x assembler-with-cpp -EL -fno-pic -o setup.o setup.S 
	/home/root/mips-tool-chain/bin/mipsel-ecoff-ld -EL -T ld.script -o hello.exe setup.o hello.o 
	/home/root/mips-tool-chain/bin/mipsel-ecoff-objcopy -O binary  hello.exe  hello.exe.tmp
	/home/root/mips-tool-chain/bin/mipsel-ecoff-objdump -d  hello.exe >hello.exe.asm
	dd if=hello.exe.tmp of=hello.exe.rom  bs=4096 conv=sync


	/home/root/mips-tool-chain/bin/mipsel-ecoff-gcc -EL -mno-abicalls -fno-pic -g  -o tlbwr.o -c tlbwr.S 
	/home/root/mips-tool-chain/bin/mipsel-ecoff-ld -EL -T  ld.script -o tlbwr.exe setup.o tlbwr.o 


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

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)  $@  $<
add.o:add.S
	$(CC) -o  $@ $(CC-FLAGS)  $<

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)  $@  $<
addi.o:addi.S
	$(CC) -o  $@ $(CC-FLAGS)  $<

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)  $@  $<
bc0.o:bc0.S
	$(CC) -o  $@ $(CC-FLAGS)  $<

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)  $@  $<
bgezal.o:bgezal.S
	$(CC) -o  $@ $(CC-FLAGS)  $<	

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)  $@  $<
bgtz.o:bgtz.S
	$(CC) -o  $@ $(CC-FLAGS)  $<

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)  $@  $<
blez.o:blez.S
	$(CC) -o  $@ $(CC-FLAGS)  $<	

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)  $@  $<
bltz.o:bltz.S
	$(CC) -o  $@ $(CC-FLAGS)  $<	

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)  $@  $<
bltzal.o:bltzal.S
	$(CC) -o  $@ $(CC-FLAGS)  $<	

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)  $@  $<
load.o:load.S
	$(CC) -o  $@ $(CC-FLAGS)  $<	

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)  $@  $<
logical.o:logical.S
	$(CC) -o  $@ $(CC-FLAGS)  $<	

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)  $@  $<
mthi_lo.o:mthi_lo.S
	$(CC) -o  $@ $(CC-FLAGS)  $<	
	
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)  $@  $<
multu.o:multu.S
	$(CC) -o  $@ $(CC-FLAGS)  $<

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)  $@  $<
numble.o:numble.S
	$(CC) -o  $@ $(CC-FLAGS)  $<


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)  $@  $<
shift.o:shift.S
	$(CC) -o  $@ $(CC-FLAGS)  $<

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)  $@  $<
slti.o:slti.S
	$(CC) -o  $@ $(CC-FLAGS)  $<

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)  $@  $<
store.o:store.S
	$(CC) -o  $@ $(CC-FLAGS)  $<
	

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)  $@  $<
sub.o:sub.S
	$(CC) -o  $@ $(CC-FLAGS)  $<

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

	
hello.rom:hello.exe
	$(OBJCOPY) $(OBJCOPY-FLAGS)  $< $<.tmp
	$(OBJDUMP) $(OBJDUMP-FLAGS) $< >$<.asm
	$(DD) if=$<.tmp of=$@ bs=4096 conv=sync
hello.exe:hello.o setup.o
	$(LD)      $(LD-FLAGS)  $@  $^
hello.o:hello.c
	$(CC) -o  $@ -EL -mno-abicalls -fno-pic -g -c $<


test:
	/home/root/mips-tool-chain/bin/mipsel-ecoff-gcc -EL -mno-abicalls -fno-pic -g  -o hello.o -c hello.c 
	/home/root/mips-tool-chain/bin/mipsel-ecoff-gcc -c -x assembler-with-cpp -EL -fno-pic -o setup.o setup.S 
	/home/root/mips-tool-chain/bin/mipsel-ecoff-ld -EL -T ld.script -o hello.exe setup.o hello.o 
	$(OBJCOPY) $(OBJCOPY-FLAGS) hello.exe hello.tmp
	$(DD) if=hello.tmp of=hello.rom1 bs=4096 conv=sync
	
clean:
	rm *.o *.tmp *.asm *.exe *.rom 

⌨️ 快捷键说明

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