のように、私がコードで使用できるmakefile.amのマクロを設定する方法は、ABC
の変数はmakefile.amで定義されていますが、コード。私はこのquestionを読んでいます。これはmakefileにマクロを設定する方法ですが、makefile.amではマクロを設定する方法については触れていません。コード内で使用できるmakefile.amにマクロを設定する方法
0
A
答えて
1
Makefile.am
はテンプレートですMakefile
(よく、Makefile
のテンプレートであるMakefile.in
の場合)。 automakeはMakefile.am
- >Makefile.in
の翻訳で非常に多くのコードを生成しますが、パーツを手作業で残しておき、独自のmakeコードを挿入することができます。
foo
プログラムをコンパイルするとき(それはプリプロセッサフラグに '-Dfoo' を追加します)
FOO
が定義されています
bin_PROGRAMS = foo
foo_SOURCES = xyz.c
foo_CPPFLAGS = -DFOO
:
典型的な(デモ)Makefile.amは次のようになります。
より複雑な(そして珍しい)の例では、見ることができるように:各ソースに#define KNURK
を有すると同等を提供
FOODEF=KNURK
AC_SUBST(FOODEF)
:のようなものが含まconfigure.acと
bin_PROGRAMS = foo
foo_SOURCES = xyz.c abc.c
foo_CPPFLAGS = [email protected]@
-file for foo
上記は典型的ではないため、通常は「自己完結型」フラグを置き換えます。以下のMakefile.am、のようなもの:
FOODEFS=
AC_ARG_WITH([knork], AC_HELP_STRING([--with-knork=<str>], [build with knork (or frozz otherwise]))
AS_IF([test "x$with_knork" = "xyes" ],FOODEFS="-DKNORK")
AS_IF([test "x$with_knork" = "xno" ], FOODEFS="-DFROZZ")
AC_SUBST(FOODEF)
:
bin_PROGRAMS = foo
foo_SOURCES = xyz.c abc.c
foo_CPPFLAGS = @[email protected] -I/usr/include/fu/
のようなconfigure.acスニペットを伴います
1
makefile自体はあなたのコードを気にしません。それはコンパイラの仕事です。
あなたはGCCを使用している場合は、このような-Dオプションでシンボルを定義することができます:あなたは、もちろん、このようなMakefileの変数を使用することができます
gcc -DABC=3 -o main.o main.c
:
DEFINED_MACRO = ABC
target.o: file.c
gcc -D$(DEFINED_MACRO)=3 -o target.o file.c
関連する問題
- 1. Makefile.amでパターンを置換する方法
- 2. GHCI設定ファイルでCPPマクロを使用できますか?
- 3. 特定の方法でページを設定するVBA印刷マクロ
- 4. コードでuseUnsafeHeaderParsingを設定する方法
- 5. コードでFontFamilyを設定する方法
- 6. コード内のUITextViewsで "User Interaction Enabled"を設定する方法
- 7. makefile.am内でシェルコマンドを実行
- 8. 設定ファイルにJavaで使用できる方法は?
- 9. doskeyマクロを使用してPowerShellでエイリアスを設定する
- 10. C++でマクロを使用するために、C++でマクロを定義または変換する方法
- 11. OO基本マクロでワードラップを設定する方法は?
- 12. gradleのビルドタイプ内でネイティブコードのマクロを定義する方法は?
- 13. ループ内でControls.Add(new button(){})を使用するときのボタンの動作方法を設定する方法
- 14. makefile.amは、ターゲットのセットに対してLDADDを設定できますか?
- 15. json設定で使用するコンストラクタを指定する方法
- 16. iosでキーフレームアニメーションを使用するときにアニメーションカーブを設定する方法は? UIViewののキーフレームアニメーションを使用したときのアニメーションカーブを設定する方法
- 17. マクロ内でマクロ変数を作成する方法は?
- 18. マクロの代わりにC関数内で__VA_ARGS__を使用する方法は?
- 19. PhpStormでSymfonyプロジェクトを使用するときに "ディレクトリ"を設定する方法
- 20. pg-promiseでヘルパーを使用するときに列を設定する方法
- 21. MVVMを使用してコード内でリソースを動的に設定する
- 22. Embedded Monoを使用したデバッグC#コードでブレークポイントを設定する方法は?
- 23. スタンフォードパーサーをnltkでPythonで使用する方法、モデルパスを設定する方法
- 24. ListPickerItemの設定方法コード内のスタイル
- 25. マクロ定義で複数のマクロを使用する
- 26. Eixirメタプログラミング - マクロ内でコンパイル時に利用可能なマクロを定義する
- 27. autotoolsのMakefile.amファイルを再利用する方法
- 28. ソナースキャナにsonarqubeで設定したプロパティを使用する方法
- 29. 設定なしでカスタムログインページにスプリングブートセキュリティを使用する方法は?
- 30. コード内で%USERPROFILE%を正しく使用する方法は?