ubuntu linux GCC 求解释一个GCC的 makefile 代码
新手;每行具体解释下,有什么作用,谢谢
以下是代码
CC = gcc
TARGET = 1
SRC = $(wildcard *.c)
OBJECT = ${SRC:%.c=%.o}
$(TARGET) : $(OBJECT)
$(CC) -o $@ $+
.c.o :
$(CC) -c $^
clean :
rm -f $(OBJECT) $(TARGET)
CC = gcc #指定编译器,如果嵌入式开发就要arm-linux-gcc,如果C++就g++
TARGET = 1 #指定生成的可执行文件
SRC = $(wildcard *.c) #指定源代码型改,即source code
OBJECT = ${SRC:%.c=%.o} #指定目标文件,这里约定名称与SRC名字相同,以.o为扩展名
$(TARGET) : $(OBJECT) #makefile规则,由目标文件链接生成可执行文件
$(CC) -o $@ $+ #命令,即手动执行gcc -o ???.c ???.o
#这里需要注意两点: $@ $+ 指代你的目标文件和执行卜轮判文件,是一种简写
$(CC)前面,一定以Tab开头,不能桐塌是空格或别的什么,否则make过不了
.c.o :
$(CC) -c $^
#也是一种简写方式,有???.c生成???.o
clean :
rm -f $(OBJECT) $(TARGET)
#清除生成的目标文件和可执行文件,只留下源代码。可以自己make clean试一下
PS:早上8点考试的人伤不起啊。。有不明白的我们再讨论哈
clean :
rm -f $(OBJECT) $(TARGET)