通用性Makefile文件

#把所有的目录做成变量,方便修改和移植 
BIN = ./bin
SRC = ./src
INC = ./include
OBJ = ./obj

#提前所有源文件(即:*.c文件)和所有中间文件(即:*.o)
SOURCE = $(wildcard ${SRC}/*.c)
OBJECT = $(patsubst %.c,${OBJ}/%.o,$(notdir ${SOURCE}))

#SRC = $(wildcard *.c)
#等于指定编译当前目录下所有.c文件,如果还有子目录,比如子目录为inc,则再增加一个wildcard函数,象这样:
#SRC = $(wildcard *.c) $(wildcard inc/*.c)


#设置最后目标文件
TARGET = i2c_test #生成的文件名称
BIN_TARGET = ${BIN}/${TARGET}

#if  1  //for Renesas
CROSS_COMPILE =/opt/poky/2.1.2/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-
CC	?= $(CROSS_COMPILE)gcc --sysroot=/opt/poky/2.1.2/sysroots/aarch64-poky-linux
#endif

#if 0 // Old version
CC	?= gcc
#endif

CFLAGS = -g -Wall -I${INC} 

#用所有中间文件生成目的文件,规则中可以用 $^替换掉 ${OBJECT}
${BIN_TARGET}:${OBJECT}
	$(CC) -o $@ ${OBJECT}

#生成各个中间文件
${OBJ}/%.o:${SRC}/%.c 
	$(CC) $(CFLAGS) -o $@ -c $<

.PHONY:clean
clean:
	find $(OBJ) -name *.o -exec rm -rf {} \; #这个是find命令,不懂的可以查下资料
	rm -rf $(BIN_TARGET)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值