设置我的 makefile 以仅使用“make”编译 C

Jer*_*y D 5 c makefile cmder

我正在学习 Zed Shaw 的 Learn C The Hard Way 课程,在第 2 课中,我发现在视频和书中,作者仅用于make ex1编译他的 C,而我需要运行gcc -Wall -g ex1.c -o ex1. 这是我的 Makefile,似乎第一部分应该是使 make 命令可以编译的内容,但是“make”命令没有编译它。

CFLAGs=-Wall -g

clean:
    rm -f ex1.exe

all:
    gcc -Wall -g ex1.c -o ex1.exe




Run Code Online (Sandbox Code Playgroud)

tad*_*man 4

默认目标是第一个目标,因此请切换这些目标的顺序,使其all成为默认目标。

有关目标的文档中有更多详细信息:

默认情况下,目标是 makefile 中的第一个目标(不包括以句点开头的目标)。因此,通常编写 makefile 以使第一个目标是编译整个程序或它们描述的程序。如果 makefile 中的第一个规则有多个目标,则只有规则中的第一个目标成为默认目标,而不是整个列表。.DEFAULT_GOAL您可以使用变量 在 makefile 中管理默认目标的选择