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)