Я запускаю рекурсивный make для окон, используя цели для каждого каталога, используя прямые косые черты для разделения компонентов пути.Если кто-то запускает
> make foo/bar
, он будет работать нормально.Но если кто-то запустит
> make foo\bar
, он не найдет цель для сборки:
make: Nothing to be done for `foo\bar'.
Я был бы рад, если бы мог добавить что-то подобное в мой Makefile верхнего уровня:
MAKECMDGOALS = $(subst \,/,$(MAKECMDGOALS))
Но такие вещи не работают.MAKECMDGOALS можно только читать.Или даже если я могу сделать цели с обратной косой чертой для всех моих обычных целей, как это:
$(DIRS): %: $(subst /,\,%)
Но это тоже не работает.Как лучше обойти это?