代表命令变量-boost.asio C++网络编程(中文版)pdf

13.3代表命令变量Makefile应该为重设所有的命令、选项等提供变量。就是说用户可以通过修改一个变量值来重新指定所要执行的命令,或者来控制命令执行的选项、参数等。 Makefile中,所有的命令都应该使用变量定义。在规则中需要使用此命令时,通过对相应的变量的引用来实现命令的调用。例如:定义变量“CC = gcc”,规则中可使用“$(CC)”来引用“gcc”。对于一些件管理器工具如“ln”,“rm”“mv”等,可以不为它们定义变量,而直接使用。为所有命令执行的选项参数也应该定义一个变量(可称为命令的选项变量)。在命令变量(代表一个命令的变量)后添加“FLAGS”来命名这个选项变量。例如:变量“CFLAGS”是c编译器(命令变量为“CC”)的命令行选项变量;变量YFLAGS时命令“yacc”(命令变量为“YACC”)选项变量;变量“LDFLAGS”是命令“ld”(命令变量为“LD”)的选项变量等。规则中c预处理的命令使用变量“CCFLAGS”来替代;同样任何需要执行链接的命令行中使用“LDFLAGS”作为命令行选项。 c编译器的编译选项变量“CFLAGS”在Makefile中通常是为编译所有的源文件提供选项的变量。对一个特定文件增加的选项,不应包含在变量“CFLAGS”中。编译特定的文件(或者一类特定文件)时,如果需要使用特定的选项参数,可以将这些选项写在编译它所执行的规则的命令行中(也可以使用目标指定变量或者模式指定变量)。例如: CFLAGS = -g ALL_CFLAGS = -I $(CFLAGS) .c.o: $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $
pdf 文件大小:1.29MB