制作文件宏

Make file macro

# this is a comment
OBJS = student.o teacher.o class.o
CC = g++
DEBUG = -g
CFLAGS = -Wall –c $(DEBUG)
LFLAGS = -Wall $(DEBUG)

myproj.exe : $(OBJS)
    $(CC) $(LFLAGS) $(OBJS) –o myproj.exe
student.o : student.h student.cpp
     $(CC) $(CFLAGS) student.cpp
teacher.o : teacher.h teacher.cpp
 $(CC) $(CFLAGS) teacher.cpp
class.o : class.h student.h teacher.h class.cpp
 $(CC) $(CFLAGS) class.cpp

有人能告诉我为什么 CFLAGS 和 LFALGS 后面有 $(DEBUG) 吗?

这样就不用每次编译的时候都写了或者link.

让我们从您的文件中取出这两行:

student.o : student.h student.cpp
    $(CC) $(CFLAGS) student.cpp

如果 $(CFLAGS) 中没有 $(DEBUG),则必须写

student.o : student.h student.cpp
    $(CC) $(CFLAGS) $(DEBUG) student.cpp

并为每个 规则和命令执行$(DEBUG)