makefile

来自「启动代码」· 代码 · 共 53 行

TXT
53
字号
##########################################################################
# complie and linker
##########################################################################
	CC			= arm-elf-gcc
	AS	     	= arm-elf-as
	LD 		 	= arm-elf-ld
	OBJDUMP      = arm-elf-objdump
	OBJCOPY	     = arm-elf-objcopy

	TEXT	     = 0x40000000

##########################################################################

    DEFINE		= -DOS_ANYKA=1
    
	DEFINE		:= $(DEFINE) -DFREE_MEM_START_ADDR=$(FREE_MEM_START_ADDR)

##########################################################################
# FILES
##########################################################################
	PROJ	    = Nandboot
	SRC 	    = .
	SOBJS		= rom.o
	COBJS	    = boot.o nandflash.o console.o CRCDrv.o

	CFLAGS		= -fno-builtin -mlittle-endian -mlong-calls -nostdlib -g -O2 $(DEFINE)
	ASFLAGS     =  -x assembler-with-cpp $(DEFINE)
	LDFLAGS     = -e_start -EL -N -p -X -Ttext $(TEXT) \
			$(TOOLLDFLAGS) -n -nostartfiles -L. -T boot.ld
	LIBS		= /tools/H-i686-pc-cygwin/arm-elf/lib/libc.a  \
		 /tools/H-i686-pc-cygwin/lib/gcc-lib/arm-elf/3.0/libgcc.a

	ENDIANELF	= elf32-little
##########################################################################
TARGET	=  $(PROJ).elf  $(PROJ).bin
build:$(TARGET)
 
$(PROJ).bin: $(PROJ).elf
	$(OBJCOPY) -O binary $(PROJ).elf $(PROJ).bin

$(PROJ).elf: $(SOBJS) $(COBJS)
	$(LD) $(LDFLAGS) -o $(PROJ).elf $(SOBJS) $(COBJS) $(LIBS)
	$(OBJDUMP) -h -S -l -D -Mreg-names-raw --show-raw-insn $(PROJ).elf > $(PROJ)_elf.txt

.s.o:
	$(CC) -c $(ASFLAGS) -o $@  $<
.c.o:
	$(CC) -c $(CFLAGS)  $<	

clean:
	-rm *.o  *.elf *.bin *.txt -rf

⌨️ 快捷键说明

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