4

私は C++20 で新しいモジュール機能を使用したいと思っています。私が理解している限り、gcc と clang の両方が十分に使用できるように実装されているようです。

基本的に、私がオンラインで見るすべてのコード例は、すべてのモジュールを個別にコンパイルし、それらの順序を手動で指定します。make異なるモジュール間の依存関係を自動的に見つける方法はありますか?

Makefile基本的に次のようなものを書きたいと思います。

# ...

SRC    := $(find $(SRCDIR) -name "*.cpp")
OBJ    := $(SRC:.cpp=.o)
PCM    := $(SRC:.cpp=.pcm)

*.pcm: CXXFLAGS += -Xclang -emit-module-interface

# ...

$(EXE): $(OBJ)
  $(LD) $(LDFLAGS) -o $@ $^

$(OBJ): %.o: %.cpp %.pcm
   $(CXX) $(CXXFLAGS) -o $@ $<

$(PCM): %.pcm: %.cpp
   $(CXX) $(CXXFLAGS) -o $@ $<

makeしかし、モジュールをコンパイルする必要がある順序がわからないため、これは明らかに機能しません。

そう:

  • C++ モジュールで動作するジェネリック Makefile を作成する正しい方法は何ですか?
  • C++ モジュールと を使用した重要なプロジェクトの良い例はありmakeますか?

さらに:

  • C++ モジュールと を使用した重要なプロジェクトの良い例はありcmakeますか?
4

0 に答える 0