5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Delphi】ビルドコマンドのマクロについて

Last updated at Posted at 2025-12-13

はじめに

Delphi 2007 以降、ビルド開始時と終了時にビルドイベントを仕込む事ができるようになりました。

image.png

C++ Builder にはリンク前ビルドイベントもあります。

困った事に、ここで使えるマクロの説明がドキュメントに存在しないのです。ダイアログの説明に出てるっちゃー出てますが、具体的にどういう値に置換されるのか判らないのです。

See also:

ビルドコマンドのマクロ

殆どが文字列を返すマクロです。唯一の例外が $(SAVE) マクロです。

以下、C:\Projects\BuildTestProject1 という名前でプロジェクト (VCL フォームアプリケーション) を保存して Delphi 13 Florence でビルドした場合のマクロの値です。

名前 説明 値の例
BDS 1 環境変数 $(BDS) <Delphi のインストールフォルダ>
Config プロジェクトのアクティブな構成の名前 Debug
DEFINES プロジェクトの条件定義 DEBUG;;FRAMEWORK_VCL
DIR 1 環境変数 $(DIR) (環境変数 DIR を自分で定義して使う?)
INCLUDEPATH プロジェクトのインクルードパス <Delphi のライブラリパス>
INPUTDIR 入力ファイルのディレクトリ C:\Projects\BuildTest\
INPUTEXT 入力ファイルの拡張子 .dproj
INPUTFILENAME 入力ファイルの拡張子付き名前 Project1.dproj
INPUTNAME 入力ファイルの拡張子なしの名前 Project1
INPUTPATH 入力ファイルのフルパス C:\Projects\BuildTest\Project1.dproj
LOCALCOMMAND プロジェクトマネージャでユーザーから入力されたローカルコマンド (機能していないのでは?) 2
OUTPUTDIR 出力ファイルのディレクトリ .\Win32\Debug\
OUTPUTEXT 出力ファイルの拡張子 .exe
OUTPUTFILENAME 出力ファイルの拡張子付き名前 Project1.exe
OUTPUTNAME 出力ファイルの拡張子なしの名前 Project1
OUTPUTPATH 出力ファイルのフルパス C:\Projects\BuildTest\Win32\Debug\Project1.exe
Path 1 環境変数 $(Path) <Delphi の環境変数 Path>
Platform プロジェクトのアクティブなプラットフォームの名前 Win32
PROJECTDIR プロジェクトのディレクトリ 3 C:\Projects\BuildTest
PROJECTEXT プロジェクトファイルの拡張子 .dproj
PROJECTFILENAME プロジェクトファイルの拡張子付き名前 Project1.dproj
PROJECTNAME プロジェクトの名前 Project1
PROJECTPATH プロジェクトファイルのフルパス C:\Projects\BuildTest\Project1.dproj
SAVE コンパイル前に入力ファイルをディスクに保存 (コマンドマクロ。指定した箇所でプロジェクトが保存される)
SystemRoot 1 環境変数 $(SystemRoot) <環境変数 SystemRoot>
WINDIR 1 環境変数 $(WINDIR) <環境変数 WINDIR>

echo $(BDS) のようなビルドコマンドを仕込んでおくと、

image.png

[メッセージウインドウ][出力] タブで置換されたマクロ文字列を確認できます。

image.png

複数のビルドコマンドは改行するかセパレータ文字 & で区切って指定します。
連続した & は単一の & に置き換えられます。同じ理由ですが空行も詰められます。

先述のマクロ以外にも $() の中にオペレーティングシステムの環境変数または IDE 定義の環境変数を指定する事が可能です。例えば $(BDSCOMMONDIR)$(ProductVersion) はリストにありませんが利用可能です。

See also:

おわりに

Delphi XE ではマクロ一覧が空になっていて、使えるマクロが判りません 4。ダブルクリックで挿入する事もできないため、手入力するしかありませんでした。

image.png

...それなのに、ドキュメントに載ってないっていう。

See also:

  1. [ツール | オプション] の環境変数タブを確認の事。 2 3 4 5

  2. [ビルドコマンドを追加入力してビルド] なんてのは [プロジェクトマネージャ] にないですしね?IDE の [ツール | ツールの構成] の [ツールプロパティダイアログ] で使えるマクロの $PROMPT みたいなものを想定されていたのではないかと思います。

  3. PROJECTDIR はパスの末尾にパスデリミタがありません。

  4. XE2 で修正されています。

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?