【发布时间】:2017-12-21 22:48:42
【问题描述】:
出于某种原因,我从来没有掌握现代编程方法的窍门。作为 68k 汇编程序员,我试图退出使用单个树文件来链接最终文件的所有内容,而是遵循更典型的“构建/链接对象”方案。但是,我花了 4 天时间试图找到一个合乎逻辑的解释并解决这个问题。
我正在尝试自动检测和构建来自某个文件夹的每个文件,其对象被打包到一个特定定义的对象中,该对象与其他特定定义的对象链接在一起。
这是生成文件:https://pastebin.com/H6QE29fj
CUR = $(SRC)\lib
VPATH = $(OBJ) $(CUR)
INPUT = $(notdir $(wildcard $(CUR:\=/)/*))
$(OBJ)\library.md.o: $(INPUT:.asm=.o)
$(VLINK) -r -o $@ $(addprefix $(OBJ)\,$(notdir $^))
问题就在上面。几天前,我使用相同的代码 sn-p 从文件夹 $(SRC)\ints 生成 $(OBJ)\ints.md.o。完全没有问题,我什至在使用 $(INPUT) 变量之前手动添加了一个文件名,因此它在 SECTION 的开头被组装(引擎恶作剧)。
如果所述代码“有效”,为什么它不适用于库?
make: *** No rule to make target `loadtilemap.o', needed by `.\src\__obj\library.md.o'. Stop.
用 %.o: %.asm 规则还不够吗?
【问题讨论】: