"); //-->
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编程等学习资料视频教程下载。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
555空调保护器电路
湾芯展:下好“具有全球引领力的中国集成电路第一展”全盘棋
第三届OpenHW开源硬件与嵌入式大赛总决赛现场实录
555多功能吊扇控制器电路
555微风吊扇定时器电路
人工智能开始简化可编程逻辑的设计
【问题】socket发送奇数字节udp数据的问题
为什么用ADS1。2编译出来的code size很大?
CS51411 CS51412 CS51413 CS51414 低电压降压转换器
利用锚定可信平台模块(TPM)的FPGA构建人形机器人安全
大嘴业话:企业转型模式的探讨
mplayer在arm 2410上的移植(转发)
CS00301 高精度智能型锂电池充电芯片
gao老大, 用户控制面板的资料修改不成功问题
中南民族大学:基于虚拟环绕声的音频处理器设计
黑芝麻智能推出 SesameX 多维具身智能计算平台
数字孪生:云的极限
德州仪器 IsoShield 功率模块:瞄准数据中心与电动汽车市场
北京工业大学:基于FPGA的情绪检测程序与相关智能宠物的开发
555换气扇自动定时控制器电路
黑芝麻智能华山A2000全场景通识辅助驾驶芯片
CMOS 模拟开关MAX4729_MAX4730
赛灵思宣传片
555厨房换气扇自控开关电路
赋能AI与新能源时代的高动态MW级负载平台
CS5460 单相功率_电能计量芯片
DS1870 AB类LDMOS射频功率放大器双通道偏置控制器
电源“免疫力”决定芯片稳定性:PSRR测试为何越来越关键
[求助]ADS1.2使用方法
液冷驱动其他局部冷却