前処理されたファイルにサフィックスを使用すると、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.cppx.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