Учитывая следующую структуру каталогов
.
├── Makefile
├── test.test.io
│ └── topic
│ └── foo.yaml
└── foo.bar.us
├── topic
│ └── foo.yaml
│ └── bar.yaml
└── other
└── baz.yaml
Я хочу произвести:
.
├── build
│ └── topic
│ │ └── test.test.io-foo.done
│ │ └── foo.bar.us-foo.done
│ │ └── foo.bar.us-bar.done
│ └── other
│ └── foo.bar.us-foo.done
Я начал с чего-то нормального sh вроде:
TOPIC_SOURCES := $(shell find . -path '*/topic/*.yaml')
TOPIC_DEPLOYS := $(TOPIC_SOURCES:%.yaml=build/%.done)
build/%.done: %.yaml
@echo %< %@
Но я как бы напрягаю голову, пытаясь понять, как использовать данные инструменты для выполнения остальной части преобразования, поскольку мне нужно выполнить что-то похожее на sed -E 's|^./(.*)/topic/(.*).yaml|\1-\2.done|'