簡體   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