一般我们自己练习时涉及到的源文件和头文件较少,且均放在同一个目录,因此makefile文件可以简单的写成如下即可:
#set value
CFILE = $(wildcard *.c)
#compile
main:$(CFILE)
@gcc $(CFILE) -o main
#clean main
.PHONY:clean
clean:
@-rm main
但当遇到多个文件目录时,就需要我们声明所有引用的头文件和源文件的路径了:
假设我们的代码框架如下:
src:
-api:method.h
-method:method_1.c, method_2.c
main.c
则,makefile文件可写为:
#set value
CFILE = $(wildcard *.c)
CFILE += $(wildcard method/*.c)
DIRSRC = -I api
#compile
main:$(CFILE)
@gcc $(CFILE) $(DIRSRC) -o main
#clean main
.PHONY:clean
clean:
@-rm main