Make - Построение зависимостей отличается от явного построения
У меня есть правило в моем make-файле:
$(OW_GROUP_ONE_C): $(OW_GROUP_ONE_PNG)
for file in $^; \
do \`enter code here`
grit $$file -ftc -fh\! -fa -gt -gz\! -gB4 -m\! -p -pzl -pu16 -o $@; \
done
Он строит один файл c из разных изображений, которые повторяются в цикле for (они проверены с помощью echo)
Правило, которое зависит от этого,
$(OW_GROUP_ONE_O): $(OW_GROUP_ONE_C)
$(CC) $(CFLAGS) -c -o $@ $<
который выполняется через
$(SPRITES_BINARY): $(NORMAL_PAL_OBJ) $(SHINY_PAL_OBJ) $(SPRITE_FRONT_OBJ) $(SPRITE_BACK_OBJ) $(NORMAL_CASTFORM_PAL_OBJ) $(SHINY_CASTFORM_PAL_OBJ) $(CASTFORM_FRONT_OBJ) $(CASTFORM_BACK_OBJ) $(OW_GROUP_ONE_O)
Если я выполняю правило, вызывая "make $(OW_GROUP_ONE_C)", все работает нормально, но как только правило выполняется через зависимость от другого правила, цикл, похоже, просто читает первый файл. Я снова использовал echo для проверки, но цикл накапливает все файлы в списке. Я не знаю, в чем дело, инструмент (GRIT - GBA transmogrifier для растровых изображений) должен быть в состоянии справиться с этим, но должна быть разница между явным вызовом правила, если оно работает таким образом...
Заранее спасибо за любые подсказки!