MakeFile @cd 在控制台中打印消息
MakeFile @cd print message in console
在我的 Makefile 中,我有一些重定向到其他 makefile 的命令,为此,我需要 cd 命令。但我不知道为什么或在哪里定义,每次我在 Makefile 中使用 @cd
时,控制台都会打印一条消息:
“我们进入了曲目” blabla/toto "
我的 Makefile 很简单,代码如下:
TARGETS=$(shell ls -d programme*)
CLEANTARGETS=$(foreach dir,$(TARGETS),clean_$(dir))
all: $(TARGETS)
.PHONY: $(TARGETS) $(CLEANTARGETS)
$(TARGETS) :
@echo "Execution de make $@ :\n"
@cd $@; make
$(CLEANTARGETS) :
@echo -n "Execution de clean $(subst clean_,,$@)\n" :
@cd $(subst clean_,,$@); make clean
clean: $(CLEANTARGETS)
这个 makefile 重定向到其他 2 个 Makefile,但它们不使用 cd 命令,而且代码非常简单,所以我认为向您展示它没有意义。
编辑 :
我的问题是我只是不想让它打印,之后太乱了,我只想让 makefile 做 cd 而不打印任何东西
这是完整的打印消息:
Execution de make programme1 :
make[1] : on entre dans le répertoire « ~/Shortest-Path/programme1 »
Production de programme1.exe à partir des fichiers : programme1.c treatmentFiles.c treatmentFiles.h
gcc -Wall programme1.c treatmentFiles.c treatmentFiles.h -o programme1.exe
Le programme programme1.exe a été produit dans le répertoire programme1
make[1] : on quitte le répertoire « ~/Shortest-Path/programme1 »
所以,其他行通常用我的 echo 命令打印,但不知道为什么 cd 命令打印
on entre dans le répertoire « ~/Shortest-Path/programme1 »
和
on quitte dans le répertoire « ~/Shortest-Path/programme1 »
欢迎任何帮助或建议!
所以答案是添加这个选项:
MAKEFLAGS += --no-print-directory
在我的 Makefile 中,我有一些重定向到其他 makefile 的命令,为此,我需要 cd 命令。但我不知道为什么或在哪里定义,每次我在 Makefile 中使用 @cd
时,控制台都会打印一条消息:
“我们进入了曲目” blabla/toto "
我的 Makefile 很简单,代码如下:
TARGETS=$(shell ls -d programme*)
CLEANTARGETS=$(foreach dir,$(TARGETS),clean_$(dir))
all: $(TARGETS)
.PHONY: $(TARGETS) $(CLEANTARGETS)
$(TARGETS) :
@echo "Execution de make $@ :\n"
@cd $@; make
$(CLEANTARGETS) :
@echo -n "Execution de clean $(subst clean_,,$@)\n" :
@cd $(subst clean_,,$@); make clean
clean: $(CLEANTARGETS)
这个 makefile 重定向到其他 2 个 Makefile,但它们不使用 cd 命令,而且代码非常简单,所以我认为向您展示它没有意义。
编辑 :
我的问题是我只是不想让它打印,之后太乱了,我只想让 makefile 做 cd 而不打印任何东西
这是完整的打印消息:
Execution de make programme1 :
make[1] : on entre dans le répertoire « ~/Shortest-Path/programme1 »
Production de programme1.exe à partir des fichiers : programme1.c treatmentFiles.c treatmentFiles.h
gcc -Wall programme1.c treatmentFiles.c treatmentFiles.h -o programme1.exe
Le programme programme1.exe a été produit dans le répertoire programme1
make[1] : on quitte le répertoire « ~/Shortest-Path/programme1 »
所以,其他行通常用我的 echo 命令打印,但不知道为什么 cd 命令打印
on entre dans le répertoire « ~/Shortest-Path/programme1 »
和
on quitte dans le répertoire « ~/Shortest-Path/programme1 »
欢迎任何帮助或建议!
所以答案是添加这个选项:
MAKEFLAGS += --no-print-directory