55 行
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			55 行
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| #
 | |
| # MAKEFILE FOR THE MIPS LINUX BOOTLOADER AND ROM DEBUGGER
 | |
| #
 | |
| # i-data Networks
 | |
| #
 | |
| # Author: Thomas Horsten <thh@i-data.com>
 | |
| #
 | |
| 
 | |
| ifndef Version
 | |
|  Version = "$(USER)-test"
 | |
| endif
 | |
| 
 | |
| MKLASATIMG = mklasatimg
 | |
| MKLASATIMG_ARCH = mq2,mqpro,sp100,sp200
 | |
| KERNEL_IMAGE = vmlinux
 | |
| KERNEL_START = $(shell $(NM) $(KERNEL_IMAGE) | grep " _text" | cut -f1 -d\ )
 | |
| KERNEL_ENTRY = $(shell $(NM) $(KERNEL_IMAGE) | grep kernel_entry | cut -f1 -d\ )
 | |
| 
 | |
| LDSCRIPT= -L$(srctree)/$(src) -Tromscript.normal
 | |
| 
 | |
| HEAD_DEFINES := -D_kernel_start=0x$(KERNEL_START) \
 | |
| 		-D_kernel_entry=0x$(KERNEL_ENTRY) \
 | |
| 		-D VERSION="\"$(Version)\"" \
 | |
| 		-D TIMESTAMP=$(shell date +%s)
 | |
| 
 | |
| $(obj)/head.o: $(obj)/head.S $(KERNEL_IMAGE)
 | |
| 	$(CC) -fno-pic $(HEAD_DEFINES) $(LINUXINCLUDE) -c -o $@ $<
 | |
| 
 | |
| OBJECTS = head.o kImage.o
 | |
| 
 | |
| rom.sw:	$(obj)/rom.sw
 | |
| rom.bin:	$(obj)/rom.bin
 | |
| 
 | |
| $(obj)/rom.sw:	$(obj)/rom.bin
 | |
| 	$(MKLASATIMG) -o $@ -k $^ -m $(MKLASATIMG_ARCH)
 | |
| 
 | |
| $(obj)/rom.bin: $(obj)/rom
 | |
| 	$(OBJCOPY) -O binary -S $^ $@
 | |
| 
 | |
| # Rule to make the bootloader
 | |
| $(obj)/rom: $(addprefix $(obj)/,$(OBJECTS))
 | |
| 	$(LD) $(LDFLAGS) $(LDSCRIPT) -o $@ $^
 | |
| 
 | |
| $(obj)/%.o: $(obj)/%.gz
 | |
| 	$(LD) -r -o $@ -b binary $<
 | |
| 
 | |
| $(obj)/%.gz: $(obj)/%.bin
 | |
| 	gzip -cf -9 $< > $@
 | |
| 
 | |
| $(obj)/kImage.bin: $(KERNEL_IMAGE)
 | |
| 	$(OBJCOPY) -O binary -S $^ $@
 | |
| 
 | |
| clean:
 | |
| 	rm -f rom rom.bin rom.sw kImage.bin kImage.o
 | 
