いくつかのリンカ スクリプトのどれを makefile 内で決定するかを決定するソリューションが十分でない場合、make 内でスクリプトを生成することが実行可能なオプションになる可能性があります。
このソリューションは、環境変数にエクスポートされ、$$ で参照される GNU make の verbatim 変数に依存しています。次のように、リンカー スクリプトを別のリンカー スクリプトに含めるために使用するパス変数を定義するために、これを使用しています。
define LDSCRIPT_DEF
/* Include the original libopencm3 linker script */
INCLUDE $(OPENCM3_DIR)/lib/stm32/f4/stm32f405x6.ld
/* Do custom stuff */
endef
export LDSCRIPT_DEF
$(LDSCRIPT):
@echo "$$LDSCRIPT_DEF" > $(LDSCRIPT)
説明: これはメイクファイルの一部であり、メイクファイルが関連するすべてのルールで前提条件として $(LDSCRIPT) を使用する場合にのみ機能します。