理解Make的隐含规则

and*_*and 2 makefile

如果我擦除此文件中的gcc行,是否应该将编译作为隐式规则?为什么不允许我./calc使用该makefile配置运行程序?

Makefile文件:

all: calc 

clean:  
    rm -rf calc arit.o calc.o

calc:   calc.o arit.o
    #gcc -o calc calc.o arit.o

calc.o: calc.c arit.h
    #gcc -c calc.c 

arit.o: arit.c arit.h
    #gcc -c arit.c
Run Code Online (Sandbox Code Playgroud)

Jon*_*ler 6

因为注释由制表位缩进,所以它被视为命令(由shell执行,将其视为注释).

如果'#'符号在第1列中,那么它们将是纯(make)注释.