make & Makefile
. ... . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . make & Makefile . . Make School of Computer Wuhan University ©hfwang - 1/36 - ... . ... . ... . ... . . . . . . . . . make & Makefile .1 make & Makefile 程序的编写步骤 依赖关系图 工程管理与 make make 的工作原理 规则与依赖关系 通配符的使用 变量的定义和引用 自动变量 模式规则 Makefile 的结构 make 命令参数与选项 常见的错误 依赖关系的自动生成 Turbo C 的 make 与 make 相关的命令 参考文献 ©hfwang ... . ... . ... . ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . make & Makefile . Free as in Freedom .GNU’s Not UNIX . . ©hfwang - 3/36 - ... . ... . ... . .0 码力 | 36 页 | 975.98 KB | 1 年前3跟我一起写 Makefile (PDF 重制版)
一个示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.3 make 是如何工作的 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.4 makefile makefile 中使用变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.5 让 make 自动推导 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.6 makefile 环境变量 MAKEFILES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.12 make 的工作方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3 书写规则 130 码力 | 81 页 | 628.51 KB | 1 年前3Linux 下 Makefile 的 automake 生成全攻略
1 Linux 下 Makefile 的 automake 生成 全攻略 作为 Linux 下的程序开发人员,大家一定都遇到过 Makefile,用 make 命令来编译自己写 的程序确实是很方便。一般情况下,大家都是手工写一个简单 Makefile,如果要想写出一 个符合自由软件惯例的 Makefile 就不那么容易了。 在本文中,将给大家介绍如何使用 autoconf 和 automake 两个工具来帮助我们自动生成 符 合 自 由 软件 惯 例 的 Makefile , 这 样 就 可以 象 常 见 的 GNU 程 序 一 样 ,只 要 使 用 “./configure”,“make”,“make install”就可以把程序安装到 Linux 系统中去了。 这特别适合想做开放源代码软件的程序开发人员,又或如果你只是自己写些小的 Toy 程序, 那么这个文章对你也会有很大的帮助。 介绍 Makefile 是用于自动编译和链接的,一个工程有很多文件组成,每一个文件的改变都会导 致工程的重新链接,但是不是所有的文件都需要重新编译,Makefile 中记录有文件的信息, 在 make 时会决定在链接的时候需要重新编译哪些文件。 Makefile 的宗旨就是:让编译器知道要编译一个文件需要依赖其他的哪些文件。当那些依 赖文件有了改变,编译器会自动的发现最终的生成文件已经过时,而重新编译相应的模块。0 码力 | 14 页 | 701.04 KB | 1 年前3Linux Lab v1.1 中文手册
. . . 50 4.10.2 交叉编译和运行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.11 运行任意的 make 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.12 更多用法 . . . . . . . . . . . 内置桥接网络支持,每个开发板都支持网络(Raspi3 是唯一例外) 8 启动 支持串口、Curses(用于 bash/ssh 访问)和图形化方式启动 9 测试 支持通过 make test 命令对目标板进行自动化测试 10 调试 可通过 make debug 命令对目标板进行调试 更多特性和使用方法请看下文介绍。 1.5 项目历史 1.5.1 项目起源 大约十年前,我向 elinux.org 发起了一个 、打补丁、配置、编 译、启动 • v0.3 rc1 – 添加多本知名 Linux 图书所用内核支持 1.6.4 v0.4 @ 2020.06.01 v0.4 通过提升镜像下载速度、优化 make 性能、完善登陆方式等进一步完善使用体验,同 时首次为 64 位 ARM 架构的 aarch64/virt 新增 U-Boot 支持并升级 arm/vexpress-a9 的 U-Boot 到当0 码力 | 70 页 | 1.53 MB | 1 年前3Linux Lab v1.3 中文手册
. . . 51 4.10.2 交叉编译和运行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.11 运行任意的 make 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.12 提升内核开发效率 . . . . . . . . . 内置桥接网络支持,每个开发板都支持网络(Raspi3 是唯一例外) 8 启动 支持串口、Curses(用于 bash/ssh 访问)和图形化方式启动 9 测试 支持通过 make test 命令对目标板进行自动化测试 10 调试 可通过 make debug 命令对目标板进行调试 更多特性和使用方法请看下文介绍。 1.5 项目历史 1.5.1 项目起源 大约十年前,我向 elinux.org 发起了一个 、打补丁、配置、编 译、启动 • v0.3 rc1 – 添加多本知名 Linux 图书所用内核支持 1.6.4 v0.4 @ 2020.06.01 v0.4 通过提升镜像下载速度、优化 make 性能、完善登陆方式等进一步完善使用体验,同 时首次为 64 位 ARM 架构的 aarch64/virt 新增 U-Boot 支持并升级 arm/vexpress-a9 的 U-Boot 到当0 码力 | 73 页 | 1.54 MB | 1 年前3Linux Lab v1.2 中文手册
. . . 51 4.10.2 交叉编译和运行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.11 运行任意的 make 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.12 提升内核开发效率 . . . . . . . . . 内置桥接网络支持,每个开发板都支持网络(Raspi3 是唯一例外) 8 启动 支持串口、Curses(用于 bash/ssh 访问)和图形化方式启动 9 测试 支持通过 make test 命令对目标板进行自动化测试 10 调试 可通过 make debug 命令对目标板进行调试 更多特性和使用方法请看下文介绍。 1.5 项目历史 1.5.1 项目起源 大约十年前,我向 elinux.org 发起了一个 、打补丁、配置、编 译、启动 • v0.3 rc1 – 添加多本知名 Linux 图书所用内核支持 1.6.4 v0.4 @ 2020.06.01 v0.4 通过提升镜像下载速度、优化 make 性能、完善登陆方式等进一步完善使用体验,同 时首次为 64 位 ARM 架构的 aarch64/virt 新增 U-Boot 支持并升级 arm/vexpress-a9 的 U-Boot 到当0 码力 | 73 页 | 1.53 MB | 1 年前3Debian 新维护者手册
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.7 设置 dh_make . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 于使用那些文件的最佳方法的文档。 • debhelper 和 dh-make - dh-make 是用于创建我们示例软件包骨架所必须的,它会使用 debhelper 中的一些工 具来创建软件包。他们不是创建软件包所必须的,但对新维护人员而言,我们 强烈推荐。它可以使整个过程极为简 化,并易于在将来维护。(参看 dh_make(8)、debhelper(1)、/usr/share/doc/debhelper/README) elper/README) 3 新的 debmake 可以作为标准 dh-make 的代替品。debmake 能做的事情更多,并且拥有包含非常多打包实例的 HTML 文档。文档可以通过 debmake-doc 软件包获取。 • devscripts - 此软件包提供了一些非常好且有用的脚本来帮助维护者,不过这写脚本并非制作软件包所必须。此 软件包所推荐或建议的软件包都值得一看。(参看 /usr0 码力 | 63 页 | 493.28 KB | 1 年前3Blender v4.1 Manual
software packages, where you are allowed to load the software on a single computer, are allowed to make no copies, and never see the source code. Free software allows incredible freedom to the end user that recipients are aware of their rights under the license. You must include the source code or make the source code freely available. If you modify the code and distribute the modified version, you date and that OpenGL is well supported. Blender has a set of minimum and recommended requirements; so make sure these are met before trying to install Blender. Support for other hardware such as graphic tablets0 码力 | 6263 页 | 303.71 MB | 1 年前3Go 入门指南(The way to Go)
7.2 切片 7.3 For-range 结构 7.4 切片重组(reslice) 7.5 切片的复制与追加 7.6 字符串、数组和切片的应用 第8章:Map 8.1 声明、初始化和 make 8.2 测试键值对是否存在及删除元素 8.3 for-range 的配套用法 8.4 map 类型的切片 8.5 map 的排序 8.6 将 map 的键值对调 第9章:包(package) 写一个简单的网页应用 第 16章 常见的陷阱与错误 16.1 误用短声明导致变量覆盖 16.2 误用字符串 16.3 发生错误时使用defer关闭一个文件 16.4 何时使用new()和make() - 5 - 本文档使用 书栈(BookStack.CN) 构建 16.5 不需要将一个指向切片的指针传递给函数 16.6 使用指针指向接口类型 16.7 使用值类型时误用指针 16 $GOROOT/src/cmd/gc/go.y 的 yacc 文件,它会在同一目录输出 y.tab.{c,h} 文件。如果你 想知道更多有关构建过程的信息,你可以在 $GOROOT/src/make.bash 中找到。 大部分的目录都包含了名为 doc.go 的文件,这个文件提供了更多详细的信息。 2. gccgo 编译器: 一款相对于 gc 而言更加传统的编译器,使用 GCC0 码力 | 466 页 | 4.44 MB | 1 年前3Go 入门指南(The way to Go)
$GOROOT/src/cmd/gc/go.y 的 yacc 文件,它会在同一目录输出 y.tab.{c,h} 文件。如果你想知道更多有关构建过程的信息,你可以在 $GOROOT/src/make.bash 中找到。 大部分的目录都包含了名为 doc.go 的文件,这个文件提供了更多详细的信息。 2. gccgo 编译器: 一款相对于 gc 而言更加传统的编译器,使用 GCC 作为后端。GCC 的话,你可以在终端输入以下指令( 译者注:由于网络环境的特殊性,你可能需要将每个工 具分开安装 )。 sudo apt-get install bison ed gawk gcc libc6-dev make 你可以在其它发行版上使用 RPM 之类的工具。 3. 获取 Go 源代码 从 官方页面 或 国内镜像 下载 Go 的源码包到你的计算机上,然后将解压后的目录 go 通过命令移动 到 $GOROOT 注意事项 在测试 net/http 包时有一个测试会尝试连接 google.com ,你可能会看到如下所示的一个无厘头 的错误报告: Go入门指南 - 16 - 本文档使用 看云 构建 ‘make[2]: Leaving directory `/localusr/go/src/pkg/net’ 如果你正在使用一个带有防火墙的机器,我建议你可以在编译过程中暂时关闭防火墙,以避免不必要 的错误。0 码力 | 380 页 | 2.97 MB | 1 年前3
共 476 条
- 1
- 2
- 3
- 4
- 5
- 6
- 48