||
Makefile是make命令依赖并读取的配置文件,它描述了编译整个项目的详细规划,为了让make命令得以识别,makefile文件遵循一定的格式,它通常包含以下内容:
(1) 需要由make命令创建的目标对象(targets),通常是目标文件或可执行文件。
(2) 要创建的目标对象所依赖的文件(dependent_files)
(3) 创建每个目标对象时需要运行的命令(command)
Makefile的一般格式为:
Targets …. :dependent _files….
(tab)command
……
例如,有两个文件分别为hello.c和hello.h,创建的目标体为hell.o,执行的命令为gcc编译指令“gcc –c hello.c”,则对应的Makefile可写为:
#This is a example for describing makefile
Hello.o: hello.c hello.h
gcc –c hello.c hello.o
注意,在Makefile文件中的每个command命令前必须有制表符tab,否则在运行make命令时会出错。在Makefile文件所在的目录执行make命令,使用Make命令的格式为:make target,这样make命令就会自动解析Makefile文件并搜寻指定target后面的依赖文件dependent_files,当且仅当依赖文件都存在时才执行后面的command语句,否则需要先生成依赖文件,如下所示:
$ls
hello.c hello.h Makefile
cat Makefile
#This is a example for describing makefile
hello.o: hello.c hello.h
gcc –c hello.c –o hello.o
$make hello.o
gcc –c hello.c –o hello.o
$ls
hello.c hello.h hello.o Makefile
$
可以看到,make命令执行了Makefile文件中目标对象hello.o对应的命令语句,并生成了目标对象hello.o。
Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )
GMT+8, 2024-11-24 11:32 , Processed in 0.029265 second(s), 18 queries , Gzip On.
Powered by Discuz! X3.5
© 2001-2023 Discuz! Team.