掌握Elasticsearch:理解与实践后缀规则

需积分: 0 66 下载量 111 浏览量 更新于2024-08-07 收藏 806KB PDF 举报
"本文档是一份关于Elasticsearch的权威指南,重点关注了老式风格的‘后缀规则’,这是Makefile中一种传统的编译规则定义方法。后缀规则在早期的Makefile中被用来指定目标文件与源文件之间的关联,包括双后缀规则(如`.c.o`表示.c文件编译成.o文件)和单后缀规则(如`.c`代表任意.c文件)。这种规则通过指定编译命令,如`$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<`,来间接定义目标文件的生成过程。 然而,随着模式规则的发展,后缀规则逐渐被淘汰,因为它们较弱且不直观。模式规则通过更清晰的语法,如`%.o : %.c`,直接表达依赖关系,使得代码更具可读性。后缀规则的一个重要限制是它们不允许依赖文件,如果包含依赖,会被视为普通文件名,而非规则的一部分。 文中提到,可以通过`.SUFFIXES`伪目标来管理后缀列表,如`.hack .win`,可以增加或删除默认的后缀支持。此外,文档还介绍了Makefile的基本构成,包括显式规则、隐含规则、变量定义、文件指示和注释等核心概念。编写Makefile时,会涉及到规则语法、通配符、文件搜寻、伪目标、多目标规则以及命令的执行和错误处理等内容。 对于高级用法,如变量的复杂使用、环境变量、目标变量、模式变量、条件判断、函数调用等都有详细讲解,涵盖了变量的基础操作、函数的具体实现,如字符串处理、文件名操作等。这些内容有助于理解和编写高效、灵活的Makefile,确保编译过程的自动化和一致性。"