您必须指定目标:
make valgrind
因为它不是 的一部分all
。
其他注意事项
在 Makefile 中,您(很可能)必须指定目录,./line
而不是line
在瓦尔格林德目标。
正如所指出的@凯西用于$(EXEC)
一致性。
此外,您可能还应该替换>&
为,>file 2>&1
因为后者更有可能被接受什么外壳,(可能是sh),你的make用途。
因此类似:
valgrind:
valgrind --leak-check=yes ./$(EXEC) >valgrind.out 2>&1
@echo 'valgrind.out has been created'