应该是这样:$(if $(KBUILD_MODULES),; rm -f $(MODVERDIR)/*) 这个函数里面有个分号很奇怪,逗号前后分为两部分,前面条件成立返回 “ ; rm -f $(MODVERDIR)/* ” 分号的作用是结束上一个语句即: cmd_crmodverdir = $(Q)mkdir -p $(MODVERDIR) ; 分号后面另外一个语句 rm -f $(MODVERDIR)/* 条件不成立就不说了