非常に多くのオブジェクト ファイル (.o) を生成する Makefile があります。それらを1つのディレクトリにリダイレクトして、このディレクトリから実行可能ファイルを作成するにはどうすればよいですか?
Makefile format :
x.o = x.hpp x.cpp
g++ -c x.cpp
まあ、それは簡単なようです:
app: bin/x.o
g++ bin/x.o -obin/x
bin/x.o: x.cpp
g++ -c x.cpp -obin/x.o
bin ディレクトリを作成する必要がありますが、それを Makefile に簡単に追加することもできます。お役に立てれば。
g++のオプションを確認してください-o
。オブジェクト ファイルのみを作成する場合にも機能するはずです。
g++ -c x.cpp -o objdir/x.o
次のようなルールを使用します。
%.o: %.cpp $(HPP_FILES) Makefile
$(CC) $(CC_FLAGS) -c -o directory/$@ $<
次に、次のようなものを使用してそこにあるすべてのファイルをリンクします。
my_binary: $(OBJ_FILES)
$(CC) $(LD_FLAGS) -o $@ directory/$(OBJ_FILES)
HPP_FILES := x.hpp y.hpp などの単純な割り当てを使用して、OBJ_FILES、HPP_FILES を定義できます。