Makefile教程

Makefile 自定义后缀

Make 可以自动创建 a.o 文件,在对应的 .c 文件上使用 cc-c。这些规则内置在 make 中,您可以利用这个优势来缩短 Makefile。如果您仅在当前目标所依赖的 Makefile 的依赖行中指定 .h 文件, make 将知道相应的 .cfile 已经是必需的。您不必包含编译器的命令。
这进一步减少了 Makefile,如下所示-
OBJECTS = main.o hello.o factorial.o
hello: $(OBJECTS)
   cc $(OBJECTS)-o hello
hellp.o: functions.h
main.o: functions.h 
factorial.o: functions.h 
Make 使用名为 .SUFFIXES 的特殊目标来允许您定义自己的后缀。例如,参考下面给出的依赖行-
.SUFFIXES: .foo .bar
它通知 make 您将使用这些特殊后缀来制定自己的规则。
类似于 make 已经知道如何从 .c 文件制作 .o 文件,您可以在下面定义规则方式-
.foo.bar:
   tr '[A-Z][a-z]' '[N-Z][A-M][n-z][a-m]' < 
.foo.bar:
   tr '[A-Z][a-z]' '[N-Z][A-M][n-z][a-m]' < $< > $@
.c.o:
   $(CC) $(CFLAGS)-c $<
lt; > $@ .c.o: $(CC) $(CFLAGS)-c
.foo.bar:
   tr '[A-Z][a-z]' '[N-Z][A-M][n-z][a-m]' < $< > $@
.c.o:
   $(CC) $(CFLAGS)-c $<
lt;
第一条规则允许您从 .foo 文件创建一个 .bar 文件。它基本上打乱了文件。第二条规则是 make 用于从 .c 文件创建 .o 文件的默认规则。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4