У меня есть make-файл (разработанный для gmake
в Linux), который я пытаюсь портировать на MacOS, но похоже, что sed
не хочет сотрудничать. Что я делаю, так это использую GCC
для автоматического создания файлов зависимостей, а затем немного настраиваю их с помощью sed
. Соответствующая часть makefile
:
$(OBJ_DIR)/%.d: $(SRC_DIR)/%.cpp
$(CPPC) -MM -MD $< -o $@
sed -i 's|\(.*\)\.o:|$(OBJ_DIR)/\1.o $(OBJ_DIR)/\1.d $(TEST_OBJ_DIR)/\1_utest.o:|' $@
Хотя это работает без проблем в GNU/Linux, я получаю сообщения об ошибках, подобные следующим, при попытке сборки в MacOS:
sed: 1: "test/obj/equipmentConta ...": undefined label 'est/obj/equipmentContainer_utest.d'
sed: 1: "test/obj/dice_utest.d": undefined label 'est/obj/dice_utest.d'
sed: 1: "test/obj/color-string_u ...": undefined label 'est/obj/color-string_utest.d'
Вроде бы sed
отрубает персонажа, но решения не вижу.