Sun Studio 12:Fortran 编程指南

3.1.4 覆盖宏值

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=",将宏重置为空字符串使其不再有效。