bashスクリプトをユーザーディレクトリにインストールするにはMakefileを作成する必要がありますbin
。 binディレクトリの場所を指定するためにユーザー入力を許可する変数を使用する必要がありますか、それとも環境変数がありますか(少なくともほとんどのディストリビューションでは)。
答え1
通常、ユーザーにはbinディレクトリがない可能性があります。このようなMakefileを使用すると、make DESTDIR=/usr/local/bin install
/usr/local/binにインストールし、~/binにデフォルト値を指定できます。
# DESTDIR is where the program should be installed
DESTDIR = $$HOME/bin
prog: a.c b.c
${CC} -o $@ $<
install: prog
mkdir -p ${DESTDIR}
cp $< ${DESTDIR}
これにより、プログラムは複数のCファイルで構成されます。install
binディレクトリが存在しない場合、ターゲットはそれを作成し(存在する場合は-pはエラーを防ぐ)、ファイルをコピーします。$$
シェル変数に注意してください。
GNU make は、order only prerequisite
ディレクトリが存在しない場合にのみディレクトリの作成を許可しますが、mkdir の実行にかかる時間はコンパイル時間に比べて短くなります。