我有这个 Makefile:
P5.obj P5.sym: P5.asm
lc3as P5.asm
如果 P5.obj 或 P5.sym 已过期,我希望汇编程序运行。但是,删除 P5.sym 不会导致它重新生成。
我究竟做错了什么?
我有这个 Makefile:
P5.obj P5.sym: P5.asm
lc3as P5.asm
如果 P5.obj 或 P5.sym 已过期,我希望汇编程序运行。但是,删除 P5.sym 不会导致它重新生成。
我究竟做错了什么?
(我假设
lc3as P5.asm
将生成文件P5.obj
和P5.sym
。假设您尝试运行make
。)默认目标是第一个目标,除非您没有指定它(取决于 make-dialect)。
例如:
如果你同时运行
make
这两个文件a
并且b
将被创建。如果您删除b
并运行make
:因为
a
目标是默认值。一般的解决方案是创建一个名称
all
在开头的目标Makefile
:在这种情况下,如果您删除
b
将make
重新生成它(因为默认目标是all
并且它的依赖项是a
andb
)。依赖项通常在规则名称之后,尽管我不清楚你的问题是什么输入和输出是什么。假设
lc3as P5.asm
生产P5
作为输出(并且取决于所有P5.asm
、P5.obj
和P5.sym
),该条目可能类似于: