makefile 语法_makefile define用法_nis makefile 语法(15)

电脑杂谈  发布时间:2017-04-11 03:08:44  来源:网络整理

默认情况下,顶层Makefile文件将$(ARCH)的设置为与主机系统架构相等。在交 叉编译的时候,用户可以通过下面的命令行来改写$(ARCH)变量的:

makeARCH=m68k ...

INSTALL_PATH

这个变量定义了一个架构Makefiles安装固定内核映像和System.map文件的地方。

体系相关的安装目标可以使用这个目标。

INSTALL_MOD_PATH,MODLIB

为了进行模块安装,$(INSTALL_MOD_PATH)为$(MODLIB)指定了一个前缀。这个变量 没有在Makefile中定义,但是用户愿意的话可以将它传入Makefile中。

$(MODLIB)指定了模块安装的目录。

顶层Makefile为$(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)定义了 $(MODLIB)变量。用户如果愿意的话可以通过命令行来改写这个。

INSTALL_MOD_STRIP

如果这个变量被指定了,那么将导致模块在安装之后被去除。如果 INSTALL_MOD_STRIP的为‘1’,那么会使用默认的选项--strip-debug。否则, INSTALL_MOD_STRIP将会被作为strip命令的选项。

=== 8 Makefile 语言

内核 Makefiles被设计成使用GNU Make运行。Makefiles只使用GNU Make定义的功能,但是它们使用了许多GNU的扩展功能。

GNU Make支持基本的list-processing功能。内核Makefiles使用一些样式新颖的列表来建立和操作一些"if"语句。

GNU Make有两个赋操作符,":="和"=" 。":="立即计算出等式右边的,并且储存一个实际的字符串到等式左边。"="就像一个规则定义;它将等式右边直接储存到等式左边而不计算出实际的,当每次使用等式左边的时再去计算出实际的。

有一些情况使用"="是合适的。但是大多数情况下使用":="是合适的选择。

=== 9贡献者

原始的版本由Michael Elizabeth Chastain 提供,<发送邮件至 : mec@shout.net>

Kai Germaschewski进行了更新 kai@tp1.ruhr-uni-bochum.de

Sam Ravnborg 进行了更新 sam@ravnborg.org

文本质量保证由Jan Engelhardt 担任jengelh@gmx.de

=== 10 下一步的工作

- 描述kbuild怎么使用_shipped来支持shipped文件

- 生成offset头文件


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-40628-15.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...