在平時使用中,可以使用以下的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
?