繁体   English   中英

makefile:如何指定头文件

[英]makefile: how to specify header files

我正在尝试为我的所有cpp项目编写一个makefile。 从互联网搜索后,我制作了一个makefile,如下所示:

g++11=g++ -std=c++11 -stdlib=libc++

CPPFILES=$(wildcard *.cpp)
OBJFILES=$(CPPFILES:.cpp=.o)


res.out: $(OBJFILES)
    $(g++11) -lncurses -o $@ $^ -g

#obj/%.o: %.cpp
%.o: %.cpp
    $(g++11) -c -o $@ $< -g


clean:
    rm *.o *.out

我试图使用此文件来编译我的cpp项目,并且效果很好。

但是,当我对头文件进行一些更改时,它不再起作用,因为此makefile无法检测到头文件中的修改。

有什么简单的方法可以在makefile中指定头文件?
Ofc我不想一一指定。

首先,您应该了解make的概念。

Make不仅用于编译C ++,它还是一个通用工具,可从其他文件构建产品(文件)。 发出make时 ,它将根据依赖项的文件更改日期检查是否应重建顶级产品。 如果需要重建,首先检查所有依赖项是否应该重建...等等。 这些积木称为规则。

这是一个规则

target: dependency1 dependency2 ...
  command1 to produce targets
  command2

对于CPP项目:

myapp: myapp.cpp myapp.hpp
  g++ myapp.cpp -o myapp

更多信息: http : //www.cs.cmu.edu/~gkesden/412-18/fall01/projects/proj1/make/makeintro.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM