相关疑难解决方法(0)

Gnu Makefile - 处理依赖项

Unix平台上的C++程序员使用什么方法来创建和管理Makefile?

我在我的项目中使用手工制作的Makefile,但它们不处理头文件更改和其他依赖项.我google了一下,在这里找到了一个很好的解决方案.

但是我在sed命令中遇到了一个问题 -

    sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
        -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \
Run Code Online (Sandbox Code Playgroud)

问题在于第3个表达式"-e's/*\$$ //".它不起作用.它应该删除尾随反斜杠.我知道那里必须有双倍的美元,因为这是一个Makefile.有人能告诉我这里有什么问题吗?

这是完整的Makefile -

CC=g++
CFLAGS=-g -Wall
LIBS=-lpthread

OBJS=file1.o file2.o
TARGET=testProg

$(TARGET) : $(OBJS)
        $(CC) -o $@ $^ $(CFLAGS) $(LIBS)

%.o : %.cpp
        $(CC) -MMD -c -o $@ $< $(CFLAGS)
        @cp $*.d $*.P; \
            sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
                -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> …
Run Code Online (Sandbox Code Playgroud)

c++ unix gnu makefile sed

12
推荐指数
2
解决办法
2万
查看次数

标签 统计

c++ ×1

gnu ×1

makefile ×1

sed ×1

unix ×1