動的な依存関係のパラメータは、メークファイルの依存関係の行で使用した場合にのみ有効です。$$@ は、: 記号の左側にある文字列 ($@) を示します。また、$$(@F) という形式もあり、$@ のファイル部分にアクセスできます。以下に例を示します。
cat: $$@.c
この例では、依存関係は、実行時に文字列 cat.c に変換されます。これは、ソースファイルがそれぞれ 1 つだけの実行可能ファイルを多数構築する際に便利です。たとえば、オペレーティングシステムのソフトウェアコマンドのディレクトリには、以下のようなメークファイルを作成できます。
CMDS = cat dd echo date cmp comm chown $(CMDS): $$@.c $(CC) $(CFLAGS) $? -o $@
これは、すべての 単一ファイルのプログラムのサブセットです。複数のファイルから成るプログラムでは、ディレクトリを割り当てて、プログラムごとにメークファイルを作成します。特別のコンパイル手順を持つファイルでは、メークファイルに特別なエントリが必要です。
もう 1 つの便利な依存関係のパラメータとして、$$(@F) があります。これは、$$@ のファイル名部分を示します。この場合も、実行時に評価されます。/usr/src/head ディレクトリにある makefile を使用して /usr/include ディレクトリを管理するなどの場合に便利です。この場合は、/usr/src/head/makefile は以下のようになります。
INCDIR = /usr/include INCLUDES = ¥ $(INCDIR)/stdio.h ¥ $(INCDIR)/pwd.h ¥ $(INCDIR)/dir.h ¥ $(INCDIR)/a.out.h $(INCLUDES): $$(@F) cp $? $@ chmod 0444 $@
このメークファイルは、/usr/src/head にある前述のファイルのいずれかが更新されるたびに、/usr/include ディレクトリを完全に管理します。