У меня есть 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
обрубает символ, но я не вижу решения.