在平时使用中,可以使用以下的makefile来编译单独的代码
src = $(wildcard *.c) obj = $(patsubst %.c, %.o, $(src))CC = gcc CFLAGS = -Wall -gall:$(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 -gall:$(target)$(target):%:%.c$(CC) $< -o $@ $(CFLAGS).PHONY: clean all clean:-rm -rf $(target) test