makefile自动编译-g和-O0

时间:2016-04-15 02:53:56

标签: c

现在我得到了一个这样的makefile:

#--------------------------------------------------------
#  Choose  a  compiler  
#-------------------------------------------------------- 
CC = gcc

#--------------------------------------------------------
#  Set  your  source  file  and  your  target  executable    
#--------------------------------------------------------
SRC = main.c
TARGET = main2

all: $(TARGET)

#--------------------------------------------------------
#  Compile  the  program    
#--------------------------------------------------------
$(TARGET): $(SRC)
    $(CC)  -o  $@  $(SRC)  

#--------------------------------------------------------
#  Clean  up  (remove  the  executable)  
#--------------------------------------------------------
clean:
    rm  -f  $(TARGET)  

如何修改我的Makefile,使其自动编译-g和-O0(即oh-zero)选项?我对makefile的东西很困惑。

2 个答案:

答案 0 :(得分:2)

在CC下方添加CFLAGS=-g -O0 并改变线 $(CC) -o @ (SRC)

$(CC) -o $@ $(CFLAGS) $(SRC)

这将产生一个类似于:

的最终Makefile
CC = gcc
CFLAGS = -g -O0

SRC = main.c
TARGET = main2

all: $(TARGET)

$(TARGET): $(SRC)
    $(CC) -o $@ $(CFLAGS) $(SRC)  

clean:
    rm  -f  $(TARGET)  

答案 1 :(得分:0)

如果你正在寻找一个非常简单的(如果我们用很少的代码行来定义简单),那么我要问的是你将源文件重命名为std::map而不是{{1} }。

main.c

我们可以运行:

main2.c