簡體   English   中英

makefile用-g和-O0自動編譯

[英]makefile compile with -g and -O0 automatically

現在我得到了一個這樣的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(即零)選項進行編譯? 我真的對makefile感到困惑。

在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)  

如果您正在尋找一個非常簡單的代碼(如果我們用很少的幾行代碼定義簡單代碼),那么我要問的是將源文件重命名為main.c而不是main2.c

CFLAGS = -g -O0    
all: main

我們可以運行:

$ cat Makefile 
CFLAGS = -g -O0    
all: main

$ cat main.c
int main() {}

$ make
gcc -g -O0    main.c   -o main

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM