title: Makefile: make clean - why getting mixed implicit and normal rules: deprecated syntax warning?
body: <p>Following line <code>$(MAKE) -C $(KDIR) M=$(PWD) clean</code></p>
  
  <p>Produces warning: <code>Makefile:10: *** mixed implicit and normal rules: deprecated syntax</code></p>
  
  <p>What is wrong with it? Here is full listening:</p>
  
  <pre><code>obj-m := chardev.o
  KDIR := /lib/modules/$(shell uname -r)/build
  PWD := $(shell pwd)
  
  default:
      $(MAKE) -C $(KDIR) M=$(PWD) modules
      gcc -o ioctl ioctl.c
  
  clean:
      $(MAKE) -C $(KDIR) M=$(PWD) clean
  </code></pre>