私はこのMakefileを持っています:
P5.obj P5.sym: P5.asm
lc3as P5.asm
P5.objまたはP5.symが古い場合は、アセンブラを実行したいと思います。ただし、P5.symを削除しても再生成されません。
私は何が間違っていましたか?
ベストアンサー1
(lc3as P5.asm
ファイルが作成されP5.obj
実行P5.sym
を試みるとしますmake
。)
デフォルトのターゲットは、指定しない限り最初のターゲットです(make-dialectによって異なります)。
たとえば、
# Makefile
a b:
echo a > a
echo b > b
実行すると、make
これら2つのファイルが作成さa
れますb
。アンインストールb
して実行する場合make
:
`a' is up to date.
a
ターゲットがデフォルトであるためです。
一般的な解決策は、all
次に始まる名前のターゲットを作成することですMakefile
。
all: a b
a b:
echo a > a
echo b > b
.PHONY: all
この場合、削除すると再生成されb
ますmake
(デフォルトの宛先はであり、その依存関係all
はそのためです)。a
b