のように、私がコードで使用できる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. コード内のUITextViewsで "User Interaction Enabled"を設定する方法
- 5. コードでFontFamilyを設定する方法
- 6. コードでuseUnsafeHeaderParsingを設定する方法
- 7. makefile.am内でシェルコマンドを実行
- 8. 設定ファイルにJavaで使用できる方法は?
- 9. C++でマクロを使用するために、C++でマクロを定義または変換する方法
- 10. doskeyマクロを使用してPowerShellでエイリアスを設定する
- 11. ループ内でControls.Add(new button(){})を使用するときのボタンの動作方法を設定する方法
- 12. マクロ内でマクロ変数を作成する方法は?
- 13. マクロの代わりにC関数内で__VA_ARGS__を使用する方法は?
- 14. makefile.amは、ターゲットのセットに対してLDADDを設定できますか?
- 15. iosでキーフレームアニメーションを使用するときにアニメーションカーブを設定する方法は? UIViewののキーフレームアニメーションを使用したときのアニメーションカーブを設定する方法
- 16. PhpStormでSymfonyプロジェクトを使用するときに "ディレクトリ"を設定する方法
- 17. Embedded Monoを使用したデバッグC#コードでブレークポイントを設定する方法は?
- 18. ListPickerItemの設定方法コード内のスタイル
- 19. マクロ定義で複数のマクロを使用する
- 20. Eixirメタプログラミング - マクロ内でコンパイル時に利用可能なマクロを定義する
- 21. MVC 3 @ Html.ActionLinkをC#コード内で使用する方法
- 22. コード内で%USERPROFILE%を正しく使用する方法は?
- 23. phpファイル/スクリプト内でnode.jsコードを使用する方法
- 24. autotoolsのMakefile.amファイルを再利用する方法
- 25. Validation.ErrorTemplateをコード内に設定する
- 26. コード内にwcfエンドポイントヘッダーを設定する
- 27. アプリケーションレイアウトで使用する変数を設定する方法
- 28. サブカテゴリ内のOpencartでYii2を使用するための.htaccessの設定方法
- 29. Smaliコードのメソッドでbooleanをfalseに設定する方法
- 30. OpenShift用の配備設定でイメージストリームを使用する方法