Не могу назвать цель `dev`

#makefile #gnu-make

#makefile #gnu-make

Вопрос:

Это мой Makefile:

 catchall = echo "Available make commands: dev, rebuild" amp;amp; exit 0

.DEFAULT:
    @$(catchall)

error:
    @$(catchall)

dev:
    docker-compose -f docker-compose.dev.yml up --abort-on-container-exit

rebuild:
    docker-compose -f docker-compose.dev.yml up --build --abort-on-container-exit
  

Когда я запускаю, make rebuild все работает, как ожидалось, но make dev выдает этот результат:

 make: `dev' is up to date.
  

Если я переименую dev цель практически во что угодно другое, команда сработает. Почему?


Вот результат make -v :

 GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-apple-darwin11.3.0
  

Ответ №1:

Это было потому, что у меня была папка в том же каталоге с именем dev . Решение заключается в добавлении .PHONY: dev в Makefile.