Makefile(三)

在平时使用中,可以使用以下的makefile来编译单独的代码

复制代码
src = $(wildcard *.c)
obj = $(patsubst %.c, %.o, $(src))

CC = gcc
CFLAGS = -Wall -g

all:$(target)

$(target):%:%.c
    $(CC) $< -o $@ $(CFLAGS)

.PHONY: clean all
clean:
    -rm -rf $(target)
复制代码

使用方法就是make 后面跟文件名就可以单独编译该程序(不要加后缀.c)

 

更正:

上面的makefile无法实现make clean删除执行文件的原因是 代码错误。

以下是可以生成并且删除对应的文件

复制代码
src = $(wildcard *.c)
target = $(patsubst %.c, %, $(src))

CC = gcc
CFLAGS = -Wall -g

all:$(target)

$(target):%:%.c
    $(CC) $< -o $@ $(CFLAGS)

.PHONY: clean all
clean:
    -rm -rf $(target) test
复制代码

 

posted @   王清河  阅读(132)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示