makefile编写例程

OBJS := start.o main.o dev/dev.o lib/lib.o net/net.o

CFLAGS := -fno-builtin -I$(shell pwd)/include
export CFLAGS

gboot.bin : gboot.elf
    arm-linux-objcopy -O binary gboot.elf gboot.bin

gboot.elf : $(OBJS)    
    arm-linux-ld -Tgboot.lds -o gboot.elf $^

%.o : %.S
    arm-linux-gcc -g -c $^

%.o : %.c
    arm-linux-gcc $(CFLAGS) -c $^

lib/lib.o : 
    make -C lib all

dev/dev.o :
    make -C dev all

net/net.o :
    make -C net all

.PHONY: clean
clean:
    make -C lib clean
    make -C dev clean
    make -C net clean
    rm -f *.o *.elf *.bin *.bak

在C语言标准中,有些通用函数被定义为built-in function(内建函数),像printf,strchr,memset等等,这些函数不需要包含头文件中的声明,就可以编译连接该函数的。但有时候你想自己实现,就会出现冲突的提示。解决办法:在编译时加上-fno-builtin或者-fno-builtin-FUNCTION 选项

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值