2017-03-09 69 views
0

我正在尝试构建一个linux驱动程序,并且希望在其中包含一个应使用yasm构建的.asm文件。 我应该如何在Makefile中指定它? 目前它说“没有规则制定目标”,因为这是一个asm文件而不是S文件。 如果我将其后缀更改为.S,它会尝试使用默认汇编器构建它,并且由于它们具有不同的语法而失败。 我该怎么做才能使它工作?用yasm汇编文件构建linux内核模块

+1

添加使用yasm构建它的规则? – Jester

+0

我添加了一条规则: xo:x.asm \t yasm -f elf64 $ <-o $ @ 但它没有帮助:make [6]:***没有规则使目标'x.o' ,'哟'需要 –

回答

0

未用的kbuild系统建设的目标文件应该有名称

<x>.o_shipped 

在kbuild的规则,这些文件应该没有_shipped后缀简称:

<y>-m := <x>.o 

Documentation/kbuild.modules.txt(节“的二进制块“)获取更多信息。