【发布时间】:2020-10-18 14:43:50
【问题描述】:
我正在做一个 nasm 项目,我需要执行 ej 并将 ex.asm 用作参数。我尝试通过GNU 搜索如何一一选择参数。我的解决方案一直在写ex1_和ex2_,但是我想把它们放在$(ex)依赖里面,所以我没有多次复制相同的代码。有什么办法吗?
提前谢谢你
代码:
ej = ej1_gen ej2_gen
ex = ex1 ex2
# -----------------------------------------------
all: $(ej) $(ex)
exs: ex1_ ex2_
# -----------------------------------------------
$(ex): exs
nasm -g -o $@.o -f elf32 $@.asm
$(CC) $(FLAGS) -m32 -o $@ $@.o alfalib.o
ex1_:
./ej1_gen ex1.asm
ex2_:
./ej2_gen ex2.asm
【问题讨论】:
-
那么
ex1.asm和ex2.asm是生成的文件吗?使用生成它们的不同程序ej1_gen和ej2_gen?这些代码生成器程序是否有任何需要考虑的输入? -
*_gen 接收前任 nasm 代码所在的文件名。所以不一定是 ex1.asm 和 ex2.asm,但它们必须遵循相同的结构