简易的C与CPP编译的makefile

参考博客https://www.cnblogs.com/yyangblog/p/4159778.html

先附上makefile

BIN = main

SRC = $(wildcard *.c *.cpp)
COMPILE_TOOL_PATH = /opt/ti-processor-sdk-linux-am57xx-evm-03.01.00.06/linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi
CFLAGS += -Wl,-rpath-link,$(COMPILE_TOOL_PATH)/usr/lib \
 -Wl,-rpath-link,$(COMPILE_TOOL_PATH)/lib \
 -I$(COMPILE_TOOL_PATH)/usr/include \
 -L$(COMPILE_TOOL_PATH)/usr/lib \
 -L$(COMPILE_TOOL_PATH)/lib \
  -I/home/yy/2.camera/lib/libusb-1.0.9/install/include \
 -L/home/yy/2.camera/lib/libusb-1.0.9/install/lib 
CFLAGS += -lusb-1.0 -lopencv_imgcodecs -lopencv_core -lopencv_highgui -lopencv_videoio -lopencv_imgproc -lOpenCL -lpthread -lrt
CC = arm-linux-gnueabihf-g++
$(BIN): $(SRC)
$(CC)  -o $@ $^ $(CFLAGS)
clean:

rm -f $(BIN)

第一行:准备生成可执行模块

第二行:$(wildcard *.c *.cpp)中的wildcard:是$(wildcard *.c)来获取工作目录下的所有的.c文件列表

第三行:C/CXX编译器的参数特性:这里指定cpp文件模块所需要的指定编译器的路径。

第四行:指定编译时候需要动态链接的头文件和库的路径

$(BIN): $(SRC)
$(CC)  -o $@ $^ $(CFLAGS):

将SRC中包含的所有文件,根据编译器参数特性,链接编译生成目标文件

编译工具都是依靠CC/CXX CPPFLAGS/CXXFLAGS LDFLAGS这几个变量在控制







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值