小编L. *_* Z.的帖子

汇编程序的 Makefile 将源文件视为目标

我是GNU make 的新手。我想将我所有的程序集源文件编译成具有相同名称的单独目标文件。将来,如果我添加更多的程序集源文件,Makefile应该仍然可以不加修改地工作。

例如我在根目录中

$ ls
Makefile obj src
$ ls src
file1.s file2.s
Run Code Online (Sandbox Code Playgroud)

make我想要之后

$ ls obj
file1.o file2.o
Run Code Online (Sandbox Code Playgroud)

将来如果我file3.s在我的src目录中添加一个,在make我想要一个新file3.oobj目录之后。

我已经阅读了 GNU make 手册中关于静态模式规则的内容,我认为这正是我所需要的。我编写了以下 Makefile:

path = /path/to/toolchain/bin
AS = $(path)/llvm-mc
ASFLAGS = -filetype=obj

srcdir = src
sources = $(srcdir)/*.s
objdir = obj
objects = $(objdir)/*.o

.PHONY: all
all: $(objects)

$(objects): $(objdir)/%.o: $(srcdir)/%.s
        $(AS) $(ASFLAGS) $< -o $@

.PHONY: clean
clean: …
Run Code Online (Sandbox Code Playgroud)

assembly makefile

0
推荐指数
1
解决办法
67
查看次数

标签 统计

assembly ×1

makefile ×1