UBOOT的編譯過程三
阿新 • • 發佈:2018-12-19
繼續上程式碼
OBJS = $(CPUDIR)/start.o ifeq ($(CPU),i386) OBJS += $(CPUDIR)/start16.o OBJS += $(CPUDIR)/resetvec.o endif ifeq ($(CPU),ppc4xx) OBJS += $(CPUDIR)/resetvec.o endif ifeq ($(CPU),mpc85xx) OBJS += $(CPUDIR)/resetvec.o endif OBJS := $(addprefix $(obj),$(OBJS)) LIBS = lib/libgeneric.o LIBS += lib/lzma/liblzma.o LIBS += lib/lzo/liblzo.o 。 。 。
主要是定義一些目標檔案和庫檔案。
接著又遇到了一個all:目標,這樣它會替換前面這個all 繼續執行。
all: $(ALL)
$(obj)u-boot.hex: $(obj)u-boot
$(OBJCOPY) ${OBJCFLAGS} -O ihex $< [email protected]
$(obj)u-boot.srec: $(obj)u-boot
$(OBJCOPY) -O srec $< [email protected]
$(obj)u-boot.bin: $(obj)u-boot
$(OBJCOPY) ${OBJCFLAGS} -O binary $< [email protected]
$(BOARD_SIZE_CHECK)
$(obj)u-boot.ldr: $(obj)u-boot
$(CREATE_LDR_ENV)
$(LDR) -T $(CONFIG_BFIN_CPU) -c [email protected] $< $(LDR_FLAGS)
$(BOARD_SIZE_CHECK)
ALL += $(obj)u-boot.srec $(obj)u-boot.bin $(obj)System.map $(U_BOOT_NAND) $(U_BOOT_ONENAND)
自然它會要根據makefile規則來進行處理各個檔案併產生u-boot.bin.
但對於還有疑問為什麼有兩個all:目標,可以訪問: