#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.