前処理されたファイルにサフィックスを使用すると、C ++ファイル.cpp
のサフィックスと衝突するため、お勧めできません。.cpp
他のことを試してください-接尾辞を使用して開始できるスニペットを次に示します.e
。
CXX = g++
CPPFLAGS = -E
CXXFLAGS = -Wall -DMACRO1 -DMACRO2
INCLUDES = -I /home/x1 -I /home/x2
%.e : %.c
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(INCLUDES) $< -o $@
'レシピ'の先頭( "$(CXX)$(CFLAGS)..."の行)にTABを配置するように注意してください。上記のものは、ファイルからファイルmake
を構築する方法を指示するルールを定義します。あなたが使用できるファイルで.e
.cpp
x.cpp
make x.e
-EフラグがCPPFLAGSで定義されていることに注意してください。これは、コンパイラ(g ++)に前処理段階の後で停止するように指示します。は-o
、生成されたファイルを配置する場所をコンパイラーに指示しますが、$ @は、この場合はファイルmake
の省略形です。何もリダイレクトする必要はありません。g++がファイルを書き込みます。target
.e
.e
cppファイルのリスト用のファイルを生成する場合は.e
、次のようにします。
SRCS = a.cpp b.cpp c.cpp d.cpp
CPPS = $(SRCS:.cpp=.e)
.PHONY:cpps
cpps: $(CPPS)
次に、それらを構築します。
make cpps