12.16 The obj/ Subdirectory and Make

Never name one of your subdirectories obj/ if you don’t like surprises.

If an obj/ directory exists, BSD make enters it before reading the makefile. Hence the makefile in the current directory is not read.

$ cat Makefile
all:
        echo Hello
$ cat obj/Makefile
all:
        echo World
$ make      # GNU make
echo Hello
Hello
$ pmake     # BSD make
echo World
World