Makefile .cpp.o:vs%o:%。cpp

时间:2017-08-11 12:34:47

标签: makefile

在make中,有什么区别:

DATA(lv_lines) = REDUCE i( INIT x = 0 FOR wa IN gt_itab
                    WHERE( F1 = 'XYZ' ) NEXT x = x + 1 ).

%.o: %.cpp foolib.h
    $(CXX) -c $< -o $@ $(CXXFLAGS)

另外,我是否理解.cpp.o: foolib.h $(CXX) -c $< -o $@ $(CXXFLAGS) 应该包含在上面所示的规则中,如果即使在.cpp文件中没有变化,也要(重新)编译标题中所做的更改?

1 个答案:

答案 0 :(得分:1)

.cpp.o:语法为Old-Fashioned Suffix Rules

  

我是否正确理解foolib.h应该包含在如上所示的规则中,如果即使在.cpp文件中没有变化,也要(重新)编译标题中的更改?

你是对的。但是,以这种方式维护标头依赖性是繁琐且容易出错的。人们通常使用auto-generated header dependencies