首页 > 代码库 > 万能makefile模板
万能makefile模板
这里一份万能makefile模板,写opencv项目时候使用的。
前提是提前配置好 包管理工具 pkg 然后就不用每次都去 -lopencv_xxx了。
###################################### # ###################################### #source file #源文件,自动找所有.c和.cpp文件,并将目标定义为同名.o文件 SOURCE := $(wildcard *.c) $(wildcard *.cpp) OBJS := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(SOURCE))) #target you can change test to what you want #目标文件名,输入任意你想要的执行文件名 TARGET := gpu-basics-similarity #compile and lib parameter #编译参数 := equals = CC := g++ LIBS := -L/usr/local/lib #LDFLAGS := -lopencv_imgcodecs -lopencv_highgui -lopencv_xfeatures2d -lopencv_features2d -lopencv_core -lopencv_flann -lopencv_calib3d -lopencv_imgproc LDFLAGS :=`pkg-config --libs opencv` DEFINES := INCLUDE := -I. -I/usr/local/include CFLAGS := -g -Wall -O3 $(DEFINES) $(INCLUDE) # CFLAGS 表示用于 C 编译器的选项 #CXXFLAGS:= $(CFLAGS) -DHAVE_CONFIG_H # C++ 编译器的选项 CXXFLAGS := -g -std=c++11 -Wall $(INCLUDE) $(TARGET):$(OBJS) $(CC) -o $@ $(OBJS) $(LIBS) $(LDFLAGS) $(CXXFLAGS) #下面的基本上不需要做任何改动了 .PHONY : everything objs clean veryclean rebuild everything : $(TARGET) all : $(TARGET) objs : $(OBJS) rebuild: veryclean everything # 换行的开始必须是1个tab clean : rm -fr *.so rm -fr *.o veryclean : clean rm -fr $(TARGET)
万能makefile模板
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。