SIMPLE C Makefile の作成方法
問題:
管理する Makefile を作成する必要がありますC プロジェクトですが、その方法を教えられていません。プロジェクトは、/user/cse232/Examples/example32.sequence.cpp からクラスをインポートする単一ファイル a3driver.cpp で構成されます。
解決策:
1.基本 Makefile:
a3a.exe: a3driver.cpp example32.sequence.cpp g++ -g -o a3a.exe a3driver.cpp example32.sequence.cpp
この Makefile は、実行可能ファイル a3a.exe がソース ファイル a3driver.cpp および example32.sequence.cpp に依存することを示しています。実行すると、プログラムを実行可能ファイルにコンパイルするコマンドが実行されます。
2.組み込みルールの使用:
CC=g++ CPPFLAGS=-g a3a.exe: a3driver.o example32.sequence.o $(CC) $(LDFLAGS) -o a3a.exe a3driver.o example32.sequence.o a3driver.o: a3driver.cpp $(CC) $(CPPFLAGS) -c a3driver.cpp example32.sequence.o: example32.sequence.cpp $(CC) $(CPPFLAGS) -c example32.sequence.cpp
この Makefile は組み込みルールを利用してコンパイル コマンドを簡素化します。 CC 変数を C コンパイラとして定義し、CPPFLAGS 変数を共通のコンパイル フラグで定義します。依存関係は引き続き明示的に定義されていますが、コンパイル コマンドは自動的に生成されます。
3.自動生成された依存関係の使用:
CC=g++ CPPFLAGS=-g a3a.exe: a3driver.o example32.sequence.o $(CC) $(LDFLAGS) -o a3a.exe a3driver.o example32.sequence.o depend: .depend .depend: $(SRCS) $(CC) $(CPPFLAGS) -MM $^ > .depend; .PHONY: clean clean: rm -f a3driver.o example32.sequence.o .depend include .depend
この Makefile は、組み込みの -MM フラグを使用して依存関係を自動的に生成します。依存ターゲットは、依存関係を含むファイル .depend を生成するコマンドを実行します。 .PHONY: clean ターゲットは、実際にはファイルやルールではない特別なターゲットです。クリーンなターゲットは、オブジェクト ファイルと .depend ファイルを削除します。
以上が単一ファイル プロジェクト用の単純な C メイクファイルを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。