我有一个gmake
试图移植到 MacOS 的 makefile(为 Linux 开发),但似乎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
正在砍掉一个角色,但我看不到解决方案。