2016-04-15 13 views
0

-gおよび-O0でコンパイル今、私はこのようなメイクを得ました自動的に?私は本当にmakefileのものと混同しています。あなたが探しているならメイクファイルは自動的に

CC = gcc 
CFLAGS = -g -O0 

SRC = main.c 
TARGET = main2 

all: $(TARGET) 

$(TARGET): $(SRC) 
    $(CC) -o [email protected] $(CFLAGS) $(SRC) 

clean: 
    rm -f $(TARGET) 
+0

一つの方法は、= gccの-g -O0' 'CCにCCラインを変更することです。しかし '$(CC)'がどのように使われているかを見ることでわかる、別の変数 'CFLAGS'を導入するのはもっと普通です。 –

+0

CFLAGS = gcc -g -O0を追加し、$(TARGET)$(SRC) $(CFLAGS)-o $ @ $(SRC)を追加します。これは正しいです? – user4593157

+0

コンパイル行は '$(CC)-o $ @ $(CFLAGS)$(SRC)'となります。 –

答えて

1

これは次のようになり、最終的なMakefileを生成することになる $(CC) -o [email protected] $(CFLAGS) $(SRC)

にライン $(CC) -o @ (SRC)

をCC 以下CFLAGS=-g -O0を追加し、変更非常に単純です(コードのほんの少しの行で単純な定義をしていれば)、私はあなたのソースファイルの名前をの代わりにとなります。

我々は実行することができます
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 
0