makefile 如何搜索多目录下的.c cpp

xengine-qyt 2012-12-19 10:25:01
我有几个目录 目录下有.c .cpp等源文件,我要用g++ 编译,如何一个一个写 的话太麻烦了
如何使用通配符来 自动搜索循环编译啊?

比如搜索到一个.c 就编译 然后生成 .o 搜索完毕后我在自己连接。
编译后的.o 要保存起来!
...全文
438 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
SRCEXT := .c 搜寻当前目录下的所有目录 SRCDIRS := $(patsubst ./%,%,$(shell find . -type d) 搜寻所有目录下所有.c的文件 SRCLIST := $(foreach d,$(SRCDIRS),$(wildcard $(addprefix $(d)/*, $(SRCEXT))))
jinjianxinxh 2012-12-21
  • 打赏
  • 举报
回复
引用 4 楼 litw 的回复:
复杂的玩法autotools,随意的玩法自己写脚本
++
开发者说 2012-12-20
  • 打赏
  • 举报
回复
SOURCE=$(wildcard cpp/*.cpp) SOURCE+=$(wildcard src/*.c)
litw 2012-12-20
  • 打赏
  • 举报
回复
复杂的玩法autotools,随意的玩法自己写脚本
LouisScola 2012-12-20
  • 打赏
  • 举报
回复
$(objects): %.o: %.c $(CC) -c $(INC_PATH) $(CFLAGS) $< -o $@ INC_PATH:路径 CFLAGS:编译选项
xengine-qyt 2012-12-20
  • 打赏
  • 举报
回复
解释下。 我有多个目录呢?
xengine-qyt 2012-12-20
  • 打赏
  • 举报
回复
啥!!!!!!!!!
windows下安装perl模块方法和必备软件nmake dmake devcpp: 方式一: 将 nmake.exe 放到system32目录下 用一下方式: perl Makefile.pl nmake nmake test nmake install 如果成功,将不用看下面内容。 方式二: 手动编译方式 优点:通吃所有模块 缺点:有点麻烦 具体步骤:1安装编译器2设置编译器的环境变量3可能安装dmake 具体方法:如下 1.首先要有个c编译器,推荐dev-cpp(开源免费的,网上自己搜索),记得要下含有mingw的就是了(不懂c,下载含有mingw的因为这个版本的bin目录里有gcc.exe等工具). 1.1安装好了编译器之后,要能在cmd中以命令方式运行的话,必须要设置环境变量,在winxp中[我的电脑]->[属性]->[高级]->[环境变量]里设置,只需要在path里加个你路径,比如你的安装路径是c:\dev-cpp,那你就要加上c:\dev-cpp\bin (path中有很多其他的路径,之间记得用;隔开 )弄完好,在cmd中运行gcc -v 显示出内容表示编译器安装成功,并且可以用命令行编译. 2.编译步骤,在cpan上下载需要的模块,比如Win32::SerialPort,下载好了解压,在cmd中进入这个目录(简单的dos命令应该知道吧),就用常见的方法: perl Makefile.pl make make test make install 如果成功,将不用看下面内容。 方式三: 使用方式二make很可能会出现错误,不能编译,找了很多原因,有高人介绍了解决办法,就是下载一个叫dmake的工具,解压缩,将里面的dmake.exe和startup的文件夹(好象是这个名字)一起复制到c:\dev-cpp\bin 里(因为这个目录注册到环境变量里的),之后安装改成: perl Makefile.pl dmake dmake test dmake install 注意: 如果安装过oracle10g你将会发现出现版本冲突的情况。 解决方案如下:修改%PERL5LIB%环境变量,修改为perl所在目录

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧