📄 makefile
字号:
## Makefile for nandboot#OBJ=objOUT=bin## This defines the processor for which the NANDboot has to be built.# The options are: {MXC91331, MXC91131, MX31 MX21 and MXC91231 }#PLATFORM=MX31BINCODESPL=$(OUT)/spl.binELFSPL=$(OBJ)/spl.elfBINCODEIPL=$(OUT)/ipl.binBINCODEIPL1=$(OUT)/ipl1.binBINCODEIPL2=$(OUT)/ipl2.binELFIPL=$(OBJ)/ipl.elf#ELFIPL1=$(OBJ)/ipl1.elfNFSBUILD=$(OUT)/nandfsbuildCRCGEN=$(OUT)/crcgenCROSS_COMPILE=arm-none-linux-gnueabi-HOST_CC=gccCC=$(CROSS_COMPILE)gccOBJCOPY=$(CROSS_COMPILE)objcopyifeq ("$(PLATFORM)", "MX21") FLAG=-Os -march=armv5 -D$(PLATFORM) else FLAG=-Os -march=armv6 -D$(PLATFORM) endififeq ($(BOOT_TIME), y)FLAG += -DBOOT_TIMEendif# -DIPL_DEBUGLIB_PATH=/vobs/fsl_mad_linux_toolchains/gcc-4.1.1-glibc-2.4-nptl-6/arm-none-linux-gnueabi/arm-none-linux-gnueabi/lib/OBJECTIPL =$(OBJ)/ipl_startup.o $(OBJ)/ipl_startup2.o $(OBJ)/mxc_nb_ipl.o OBJECTSPL =$(OBJ)/mxc_nb.o $(OBJ)/mxc_nb_nfc.o $(OBJ)/mxc_nb_init.o \ $(OBJ)/mxc_nb_uart.o $(OBJ)/mxc_nb_extuart.o $(OBJ)/mxc_spl_startup.o $(OBJ)/mxc_nb_setup.oALL: mkdirs image $(CRCGEN) @ echo Generating image/Image_crc... @$(CRCGEN) nand_boot: ALLmkdirs: @mkdir -p $(OBJ) @mkdir -p $(OUT)image: $(ELFSPL) $(ELFIPL) @echo Converting ipl.elf and ipl.elf to binary @$(OBJCOPY) -O binary $(ELFSPL) $(BINCODESPL) @$(OBJCOPY) -O binary -j .iplsec1 $(ELFIPL) $(BINCODEIPL1) @$(OBJCOPY) -O binary -j .iplsec2 $(ELFIPL) $(BINCODEIPL2) @(cd bin; ./mkiplspl.sh) @echo "Build complete!"virtio: mkdirs image $(CRCGEN) $(NFSBUILD) @echo Generating NAND flash image for Virtio @$(CRCGEN) @$(NFSBUILD) -nooob @echo NAND flash image $(OUT)/flashmem0.dat is ready clean: ifeq ("$(PLATFORM)", "MX21")$(ELFSPL): $(OBJECTSPL) $(CC) $(FLAG) -nostdlib -static -L $(LIB_PATH) -lc -o $@ \ -Xlinker -T -Xlinker spl/spl_link_mx21.lds \ -Xlinker -M -Xlinker -Map -Xlinker splmap.txt \ $(OBJECTSPL)\ -Xlinker -lc -Xlinker -L $(LIB_PATH) \ $(ELFIPL): $(OBJECTIPL) $(CC) $(FLAG) -nostdlib -static -L $(LIB_PATH) -lc -o $@ \ -Xlinker -T -Xlinker ipl/ipl_link_mx21.lds \ -Xlinker -M -Xlinker -Map -Xlinker iplmap.txt \ $(OBJECTIPL) \ -Xlinker -lc -Xlinker -L $(LIB_PATH) \else$(ELFSPL): $(OBJECTSPL) $(CC) $(FLAG) -nostdlib -static -L $(LIB_PATH) -lc -o $@ \ -Xlinker -T -Xlinker spl/spl_link.lds \ -Xlinker -M -Xlinker -Map -Xlinker splmap.txt \ $(OBJECTSPL)\ -Xlinker -lc -Xlinker -L $(LIB_PATH) \ $(ELFIPL): $(OBJECTIPL) $(CC) $(FLAG) -nostdlib -static -L $(LIB_PATH) -lc -o $@ \ -Xlinker -T -Xlinker ipl/ipl_link.lds \ -Xlinker -M -Xlinker -Map -Xlinker iplmap.txt \ $(OBJECTIPL) \ -Xlinker -lc -Xlinker -L $(LIB_PATH) \ endif$(NFSBUILD): $(HOST_CC) nandfsbuild/mxc_nandfsbuild.c -o $@$(CRCGEN): $(HOST_CC) crcgen/mxc_nb_crcgen.c -o $(OUT)/crcgen$(OBJ)/%.o: ./ipl/%.c $(CC) $(FLAG) -c -o $@ $<$(OBJ)/%.o: ./spl/%.c $(CC) $(FLAG) -c -o $@ $<# Some dependencies which are not automatically figured out$(OBJ)/ipl_startup.o: ipl/ipl_startup.S $(CC) $(FLAG) -c -o $@ $<$(OBJ)/ipl_startup2.o: ipl/ipl_startup2.c $(CC) $(FLAG) -c -o $@ $<$(OBJ)/mxc_spl_startup.o: spl/mxc_spl_startup.S $(CC) $(FLAG) -c -o $@ $<doxygen: @doxygen NANDBootDoxyFile.cfg >$(OBJ)/doxy.out 2>&1 @echo "Doxygen documentation available in full_output"clean: @rm -f $(OBJ)/*.o $(OBJ)/*.elf $(OBJ)/doxy.out @rm -f $(BINCODESPL) @rm -f $(BINCODEIPL) @rm -f $(NFSBUILD) @rm -f $(OUT)/flashmem0.dat @rm -f $(OUT)/crcgen $(OUT)/Image_crc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -