make 宏的初始值可以用 make 的命令行选项进行覆盖。例如:
FFLAGS=–u OBJ = pattern.o computepts.o startupcore.o pattern: $(OBJ) f95 $(FFLAGS) $(OBJ) -lcore95 -lcore -lsunwindow \ -lpixrect -o pattern pattern.o: pattern.f commonblock f95 $(FFLAGS) -c pattern.f computepts.o: f95 $(FFLAGS) -c computepts.f |
现在,简单的无参数 make 命令将会使用上面设置的 FFLAGS 值。不过,这可以通过命令行来覆盖:
demo% make "FFLAGS=–u -O" |
这里,make 命令行中的 FFLAGS 宏定义会覆盖 makefile 的初始值,并且会将 -O 标志和 -u 标志一起传递给 f95。请注意,也可以在命令中使用 "FFLAGS=",将宏重置为空字符串使其不再有效。