制作文件宏

时间:2016-03-08 07:12:10

标签: makefile macros g++

# 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)?

1 个答案:

答案 0 :(得分:0)

因此,每次编译或链接时都不必编写它。

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

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

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

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

每个规则和命令执行此操作,使用$(DEBUG)