Я использую Make для обработки базовых c задач в проекте, и у меня есть следующая подпись в моем Makefile
:
.PHONY: exec lint test
exec:
docker-compose exec service ${CMD}
lint: CMD := npm run lint
lint: exec
test: CMD := npm run test
test: exec
Когда я запускаю команду make lint test
, я хочу запускать npm run lint
и npm run test
внутри контейнера Docker.
Но, как я заметил, этого не происходит, поскольку make
считает, что предварительное условие должно быть выполнено после запуска задачи lint
и я получаю
make: ничего не нужно делать для 'test'.
сообщение при его вызове. Это совершенно понятно с точки зрения make, но это побочный эффект для моего использования.
Есть ли способ решить это внутри Makefile, не создавая сценарий оболочки, который будет выступать в качестве промежуточного звена агент