Gcc makefiles-作为目标的clean
有谁能告诉我如何执行写入makefile的clean目标吗。 这是我的密码Gcc makefiles-作为目标的clean,gcc,makefile,cygwin,gnu-make,Gcc,Makefile,Cygwin,Gnu Make,有谁能告诉我如何执行写入makefile的clean目标吗。 这是我的密码 jamm : hello.o ghola.o gcc $^ -o $@ %.o : %.c gcc -c S< clean : rm *.c 杰姆:你好,奥戈拉 gcc$^-o$@ %.o:%.c gcc-CS< 清洁: rm*.c 我有一些问题。如何使用clean作为目标清理所有这些c文件。我们给出命令make-f file1(假设filename是file1)它将目标视为ja
jamm : hello.o ghola.o
gcc $^ -o $@
%.o : %.c
gcc -c S<
clean :
rm *.c
杰姆:你好,奥戈拉
gcc$^-o$@
%.o:%.c
gcc-CS<
清洁:
rm*.c
我有一些问题。如何使用clean作为目标清理所有这些c文件。我们给出命令make-f file1(假设filename是file1)它将目标视为jamm并执行,但它不会执行干净的目标。如果在命令行中,我说make clean,它说没有这样的文件或目录,我无法理解这个概念。当我在make文件中写入时,谁能告诉我如何执行这些clean。请在我的一个make文件中,
clean
目标如下所示:
.PHONY: depend clean all new
clean:
rm *.o *~ $(PROGS) ~/include/*.gch
请注意,带有可执行语句的行以一个选项卡开始
其他一些事情:
rm
您的.c
文件。这些是您的源文件,您可能会丢失编写它们的所有工作.o
在我的示例中)和可执行文件($(PROGS)
在我的示例中,实际上是任何包含可执行文件名称的变量)文件,以及预编译的头文件(.gch
),因此您可以从头开始重新制作clean
,应列为.PHONY
的先决条件。这让我们知道,即使有一个名为clean
的文件,它也应该运行该命令clean
),只需输入
make clean
但要确保:
- 您与makefile位于同一目录中
- 您的makefile需要命名为
或makefile
。如果您使用的是GNU make,也可以将其称为makefile
GNUmakefile
在我的一个makefile中,
clean
目标如下所示:
.PHONY: depend clean all new
clean:
rm *.o *~ $(PROGS) ~/include/*.gch
请注意,带有可执行语句的行以一个选项卡开始
其他一些事情:
rm
您的.c
文件。这些是您的源文件,您可能会丢失编写它们的所有工作.o
在我的示例中)和可执行文件($(PROGS)
在我的示例中,实际上是任何包含可执行文件名称的变量)文件,以及预编译的头文件(.gch
),因此您可以从头开始重新制作clean
,应列为.PHONY
的先决条件。这让我们知道,即使有一个名为clean
的文件,它也应该运行该命令clean
),只需输入
make clean
但要确保:
- 您与makefile位于同一目录中
- 您的makefile需要命名为
或makefile
。如果您使用的是GNU make,也可以将其称为makefile
GNUmakefile
如果您有一个名为“clean”的文件,请检查目录。 可能是您的
make
调用认为它必须以某种方式生成一个“干净”的文件
要解决此问题,请尝试在清理目标之前添加:
杰姆:你好,奥戈拉
gcc$^-o$@
%.o:%.c
gcc-CS<
#添加以下内容:
.假冒:干净
清洁:
rm*.c
顺便说一下:您的清理目标看起来很糟糕:您是否应该删除.o文件而不是.c???如果您有一个名为“清理”的文件,请检查目录。 可能是您的
make
调用认为它必须以某种方式生成一个“干净”的文件
要解决此问题,请尝试在清理目标之前添加:
杰姆:你好,奥戈拉
gcc$^-o$@
%.o:%.c
gcc-CS<
#添加以下内容:
.假冒:干净
清洁:
rm*.c
顺便说一句:你的干净目标看起来很糟糕:你不应该删除.o文件而不是.c???请至少格式化你的示例make文件。看起来你的make文件中没有干净的目标。好吧,我这样做了,但无论我怎么尝试,我都不知道如何将其设置为一种格式。你尝试过“make-f file1 CLEAN”吗?并非如此,这是清理的方式吗?请至少格式化您的示例make文件。看起来您的make文件中没有干净的目标。好的,我这样做了,但无论我如何尝试,我都不知道如何将其设置为一种格式。您尝试过“make-f file1 clean”吗?并非如此,这是清理的方式吗?