У меня есть следующая структура папок в моем проекте:
my-app:
apps:
app1:
file1
app2:
file2
Makefile
, и я хочу, чтобы в моем файле Makefile l oop проходил через все папки в apps
и выполнял некоторые действия, также предоставляя имя папки в команду. Тем не менее, я не могу передать имя папки в качестве переменной цели make.
Это то, что у меня есть:
.PHONY: clean sandbox build
APPS=apps
define make_all
for file in $(wildcard ${APPS}/*); do \
make APP_NAME=$(file) $(1) || exit 1; \
done
endef
clean:
rm -rf node_modules
$(call make_all,clean_one)
clean_one:
rm -rf build
echo ${APP_NAME}
Вывод I получить при выполнении make clean
следующее:
rm -rf node_modules
for file in apps/app1 apps/app2; do make APP_NAME= clean_one || exit 1; done
make[1]: Entering directory 'my-app'
rm -rf build
echo
make[1]: Entering directory 'my-app'
Возможно ли то, что мне нужно сделать, как-нибудь возможно?