专栏中心

EEPW首页 > 专栏 > Linux 批量编译目录下文件的Makefile

Linux 批量编译目录下文件的Makefile

发布人:hikesoso2010 时间:2011-02-27 来源:工程师 发布文章
推荐初学者一个编程技术的学习网站,96堆栈 软件编程网http://www.96dz.com,里面有C++视频教程、C#视频教程、Java视频教程下载,还有C\C++、Java、C# .NET等编程技术文摘,包括目前主流的Linux编程与Web编程等学习资料视频教程下载。

  1.在存放.c文件的目录下编按如下方法编写Makefile文件:

  #Makefile start..

  CC := gcc #根据需要添加其它如XX := g++

  CFLAGS := -Wall -O -g #优化,输出调试信息,及所有警告

  TARGET :=argcv test hello unixio getuid #要编译的目标名,文件名去后缀的

  #下面开始一一编译了

  all:$(TARGET)

  @echo compileing...

  %.o:%.c

  $(CC) $(CFLAGS) -c $< #发现用-c和-o都是输出一样的,有点不明白

  clean:

  rm -rf  $(TARGET)

  #end Makefile

  2.执行make,输出结果:

  [savant@savant-host prog]$ make

  gcc  -Wall -O -g    argcv.c   -o argcv

  gcc  -Wall -O -g    test.c   -o test

  gcc  -Wall -O -g    hello.c   -o hello

  gcc  -Wall -O -g    unixio.c   -o unixio

  gcc  -Wall -O -g    getuid.c   -o getuid

  3.另外,如果这个目录是存放的一个项目的文件,所有的文件最终生成一个可执行文件,用下面的Makefile:

  CC = gcc

  LD = gcc

  CFLAGS = -Wall -c

  LDFLAGS = -lpthread #还可以加入INCLUDES和LIBS变量,视情况而定

  SRCS = $(wildcard *.c)  #SRCS的值就是当前面目录下面所有的以.c结尾的源文件

  OBJS = $(patsubst %c,%o,$(SRCS))  #SRCS目录下创建c文件相对的o文件

  TARGET = myapp   #最终链接生成的目标名

  .PHONY: all clean

  all: $(TARGET)

  $(TARGET): $(OBJS)

  $(LD) $(LDFLAGS) -o $@ $^

  %o: %c

  $(CC) $(CFLAGS) -o $@ $<

  clean:

  @rm -f *.o $(TARGET)

  编译当前Makefile所在目录下的所有.c文件

  执行

  make

  make clean

 

 推荐初学者一个编程技术的学习网站,96堆栈 软件编程网http://www.96dz.com,里面有C++视频教程、C#视频教程、Java视频教程下载,还有C\C++、Java、C# .NET等编程技术文摘,包括目前主流的Linux编程与Web编程等学习资料视频教程下载。

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

湾芯展:下好“具有全球引领力的中国集成电路第一展”全盘棋

2026-03-24

第三届OpenHW开源硬件与嵌入式大赛总决赛现场实录

视频 2012-06-08

人工智能开始简化可编程逻辑的设计

CS51411 CS51412 CS51413 CS51414 低电压降压转换器

利用锚定可信平台模块(TPM)的FPGA构建人形机器人安全

大嘴业话:企业转型模式的探讨

视频 2012-06-11

CS00301 高精度智能型锂电池充电芯片

中南民族大学:基于虚拟环绕声的音频处理器设计

视频 2012-06-15

黑芝麻智能推出 SesameX 多维具身智能计算平台

数字孪生:云的极限

德州仪器 IsoShield 功率模块:瞄准数据中心与电动汽车市场

北京工业大学:基于FPGA的情绪检测程序与相关智能宠物的开发

视频 2012-06-15

黑芝麻智能华山A2000全场景通识辅助驾驶芯片

CMOS 模拟开关MAX4729_MAX4730

赛灵思宣传片

视频 2012-06-08

赋能AI与新能源时代的高动态MW级负载平台

CS5460 单相功率_电能计量芯片

电源“免疫力”决定芯片稳定性:PSRR测试为何越来越关键

测试测量 2026-03-23

液冷驱动其他局部冷却

更多 培训课堂
更多 焦点
更多 视频

技术专区