首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux下源码安装

/configure生成config.h  configure.h使用autoconf和automake命令shell脚本,可以通过autoscan自动生成或手写  acconfig.h包含了configure.in...未定义的宏 autoscan–>autoheader–>aclocal–>automake|autoconf ?...(GNU m4宏处理器处理*.m4宏文件) ####2.编译 gcc找不到头文件: sudo find /(目录) -name 文件 makefile的一般格式:目标:依赖 命令  例如:a.c.../0421949.html ####3.安装  生成的可执行文件安装,用make install,安装文件到usr/bin下   (卸载使用make uninstall,清理make产生的缓存文件使用...make clean) ####4.软件包管理工具  linux分为桌面系统领域和服务器系统领域,服务器系统:rethat、suse、gentoo、arch、fedora、国产中标麒麟;桌面系统

7K41

linux下,Makefile是啥??

Linux环境下的程序员如果不会使用GNU make来构建和管理自己的工程,应该不能算是一个合格的专业程序员,至少不能称得上是Unix程序员。...在Linux(unix)环境下使用GNUmake工具能够比较容易的构建一个属于你自己的工程,整个工程的编译只需要一个命令就可以完成编译、连接以至于最后的执行。...,甚至于进行更复杂的功能操作,因为 Makefile就像一个Shell脚本一样,也可以执行操作系统的命令。...Makefile的命名规则 默认的情况下,make命令会在当前目录下按顺序找寻文件名为“GNUmakefile”、 “makefile”、“Makefile”的文件,在这三个文件名,最好使用“Makefile...Makefile只有行注释,和UNIX的Shell脚本一样,其注释是用#字符,这个就 像C/C++的//一样。如果你要在你的Makefile中使用#字符,可以用反斜杠进行 转义,:\# 。

1.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

Linux makefile 教程 非常详细,且易懂

这个示例来源于GNUmake使用手册,在这个示例,我们的工程有8个C文件,和3个头文件,我们要写一个Makefile来告诉make命令如何编译和链接这几个文件。...我们在UNIX下可能会使用不同的Shell,但是make命令默认是被“/bin/sh”——UNIX的标准Shell解释执行的。除非你特别指定一个其它的Shell。...make一般是使用环境变量SHELL中所定义的系统Shell来执行命令,默认情况下使用UNIX的标准Shell——/bin/sh来执行命令。...于是,我们可以用操作系统命令以及字符串处理命令awk,sed等等命令来生成一个变量,: contents := $(shell cat foo) files := $(shell echo *.c)...要达到这一目的很简单,需在make命令后直接跟目标的名字就可以完成(如前面提到的“make clean”形式) 任何在makefile的目标都可以被指定成终极目标,但是除了以“-”打头,或是包含了“=

4.3K20

Linux 开发 | 学习 Makefile

@(linux 编程)[开发技能, 工具使用] What is GNU Make Make 是控制工程通过源码生成可执行文件和其他相关文件的工具。... 基本例子 ,要输出 edit, 需要先编译 main.o...等文件。 recipe : 执行的命令。...在命令使用变量注意 前面提到, $ 在 makeshell 要注意的地方, 再举个例子 LIST = one two three all: for i in $(LIST); do \...上层 Makefile 定义的变量是可以在被调用的下一层 Makefile 中使用的, 前提是该变量在上层中被式暴露 export,同理,可以采用 unexport取消。...其实和 C 的条件编译差不多 注意 条件语句部分不需要缩进, 否则会被认为是传递给 shell命令 Make 条件判断语法 看起来和 shell 的条件判断差不多, 分支组成 # if-endif

5.3K10

确保同一时间只有一个shell脚本实例在运行的方法

问: 有什么快速简便的方法可以确保在给定的时间内只有一个shell脚本实例在运行? 答: 方法一 使用flock(1)在文件描述符上创建一个独占锁。 #!...flock命令是Linux的文件锁命令,可以通过一个锁文件,来控制在shell逻辑的互斥性。 flock命令的常见选项包括: -s:获取共享锁,有时称为读锁。 -x:获取独占锁,有时称为写锁。...方法二 是一个使用锁定文件并将PID到其中的实现。...if [ -e ${LOCKFILE} ] && kill -0 `cat ${LOCKFILE}`; then echo "already running" exit fi # make...$* $@ 等各种符号的含义 如何使用bash脚本并行运行多个程序 如何从Bash脚本本身获得其所在的目录 如何在Bash连接字符串变量 如何编写bash脚本以便在进程死机时重新启动进程

39640

【makefile】

7、执行生成命令。 1-5步为第一个阶段,6-7为第二个阶段。第一个阶段,如果定义的变量被使用了,那么,make会把其展开在使用的位置。...(2)dependency(依赖):要生成目标文件(target)所依赖哪些文件 (3)command(命令):创建项目时需要运行的shell命令 (注:命令(command)部分的每行的缩进必须要使用...(5)注释:Makefile只有行注释,和UNIX的Shell脚本一样,其注释是用“#”字符,如果你要在你的Makefile中使用“#”字符,可以用反斜杠进行转义,:“\#”。...make的主要预定义变量 GNU make 有许多预定义的变量,这些变量具有特殊的含义,可在规则中使用。...3.2 GNU make命令选项 GNU make 命令还有一些其他选项,下面给出了这些选项。

1.9K00

Makefile经典教程(掌握这些足够)

这个示例来源于GNUmake使用手册,在这个示例,我们的工程有8个C文件,和3个头文件,我们要写一个Makefile来告诉make命令如何编译和链接这几个文件。...make一般是使用环境变量SHELL中所定义的系统Shell来执行命令,默认情况下使用UNIX的标准Shell——/bin/sh来执行命令。...于是,我们可以用操作系统命令以及字符串处理命令awk,sed等等命令来生成一个变量,: contents := $(shell cat foo) files := $(shell...要达到这一目的很简单,需在make命令后直接跟目标的名字就可以完成(如前面提到的“make clean”形式)任何在makefile的目标都可以被指定成终极目标,但是除了以“- ”打头,或是包含了“=...还得要注意的是,这些变量只使用在规则的命令,而且一般都是"式规则"和"静态模式规则"(参见前面"书写规则"一章)。其在隐含规则并没有意义。

2.7K20

makefile终极奥义

上述还只是简单的makefile,属于「式规则」,那么为了优化makefile我们介绍「隐式规则」 makefile中使用变量 在Makefile我们要定义一系列的变量,变量一般都是字符串,这个有点...你可以在你的makefile改变这些变量的值,或是在make命令传入这些值,或是在你的环境变量设置这些值 命令的变量 变量 默认命令 意义 AR 默认命令是 ar 函数库打包程序。...(:ld ) 隐晦规则 如果我们想定义一系列比较类似的文件,我们很自然地就想起使用通配符。 通配符 符号 含义 % 任意一个 ?...匹配一个字符 * 所有 GNUmake很强大,它可以自动推导文件以及文件依赖关系后面的命令 例如: 只要make看到一个 .o 文件,它就会自动的把 .c 文件加在依赖关系,如果make找到一个...如果你要在你的Makefile中使用 # 字符,可以用反斜杠进行转义,:\# 。

1.3K30

Makefile 使用总结

这个特性是GNU make的,很有可能不兼容于其它版本的make,所以,你应该尽量避免使用"$*",除非是在隐含规则或是静态模式。...这是GNU make老版本的特性,在新版本,我们使用函数"dir"或"notdir"就可以做到了。"D"的含义就是Directory,就是目录,"F"的含义就是File,就是文件。...还得要注意的是,这些变量只使用在规则的命令,而且一般都是"式规则"和"静态模式规则"(参见前面"书写规则"一章)。其在隐含规则并没有意义。 1....书写shell命令时可以加2种前缀 @ 和 -, 或者不用前缀. 3种格式的shell命令区别如下: 不用前缀 :: 输出执行的命令以及命令执行的结果, 出错的话停止执行 前缀 @   :: 只输出命令执行的结果...>) 它的作用就是执行一个shell命令, 并将shell命令的结果作为函数的返回.

3.5K30

什么是makefile(3)

在Makefile我们要定义一系列的变量,变量一般都是字符串,这个有点你C语言中的宏,当Makefile被执行时,其中的变量都会被扩展到相应的引用位置上。 4、文件指示。...Makefile只有行注释,和UNIX的Shell脚本一样,其注释是用“#”字符,这个就像C/C++的“//”一样。...如果你要在你的Makefile中使用“#”字符,可以用反斜框进行转义,:“\#”。 最后,还值得一提的是,在Makefile命令,必须要以[Tab]键开始。...在这三个文件名,最好使用“Makefile”这个文件名,因为,这个文件名第一个字符为大写,这样有一种显目的感觉。最好不要用“GNUmakefile”,这个文件是GNUmake识别的。...--file”参数,make -f Make.Linux或make –file Make.AIX。

55820

android root 缺少busybox,手机安装不了Busybox已经root安装后显示让更换路径..「建议收藏」

直接执行命令emulator -shell; 2. 在启动emulator后,通过命令adb shell进入。 之后就可以使用一些linux下常用的命令了,ls,cat等。...: export PATH=$PATH:/data/busybox 9 设置环境变量之后, 在命令行输入busybox, 即可看到其用法, : 在当前目录及其子目录查找名为init.rc的文件可使用以下命令...方法很简单, 可以先在外面的linux系统执行make install命令把相关的命令提取出来. 然后再通过命令adb push ....直接执行命令emulator -shell; 2. 在启动emulator后,通过命令adb shell进入。 之后我们就可以使用一些linux下常用的命令了,ls,cat等。...: export PATH=$PATH:/data/busybox 9 设置环境变量之后, 在命令行输入busybox, 即可看到其用法, : 在当前目录及其子目录查找名为init.rc的文件可使用以下命令

2.5K10

跟我一起写Makefile

这个示例来源于gnumake使用手册,在这个示例,我们的工程有8个c文件,和3个头文件,我们要写一个makefile来告诉make命令如何编译和链接这几个文件。...所以,为了makefile的易维护,在makefile我们可以使用变量。makefile的变量也就是一个字符串,理解成C语言中的宏可能会更好。...如果你要在你的Makefile中使用“#”字符,可以用反斜杠进行转义,:“\#”。 最后,还值得一提的是,在Makefile命令,必须要以[Tab]键开始。...在这三个文件名,最好使用“Makefile”这个文件名,因为,这个文件名第一个字符为大写,这样有一种显目的感觉。最好不要用 “GNUmakefile”,这个文件是GNUmake识别的。...执行生成命令。 1-5步为第一个阶段,6-7为第二个阶段。第一个阶段,如果定义的变量被使用了,那么,make会把其展开在使用的位置。

1K70

跟我一起写Makefile:MakeFile介绍

这个示例来源于gnumake使用手册,在这个示例,我们的工程有8个c文件,和3个头文件,我们要写一个makefile来告诉make命令如何编译和链接这几个文件。...所以,为了makefile的易维护,在makefile我们可以使用变量。makefile的变量也就是一个字符串,理解成C语言中的宏可能会更好。...如果你要在你的Makefile中使用“#”字符,可以用反斜杠进行转义,:“\#”。 最后,还值得一提的是,在Makefile命令,必须要以[Tab]键开始。...在这三个文件名,最好使用“Makefile”这个文件名,因为,这个文件名第一个字符为大写,这样有一种显目的感觉。最好不要用 “GNUmakefile”,这个文件是GNUmake识别的。...执行生成命令。 1-5步为第一个阶段,6-7为第二个阶段。第一个阶段,如果定义的变量被使用了,那么,make会把其展开在使用的位置。

98820

【Linux笔记】make工程管理工具(二)

make是一个GNU命令工具,用来解释Makefile文件命令来编译我们的工程。...(1)式规则。式规则说明了,如何生成一个或多的的目标文件。这是由 Makefile 的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。...在 Makefile 我们要定义一系列的变量,变量一般都是字符串,这个有点像 C 语言中的宏,当 Makefile 被执行时,其中的变量都会被扩展到相应的引用位置上。: ?...Makefile 只有行注释,和 UNIX 的 Shell 脚本一样,其注释是用 # 字符,这个就像C/C++的//一样。...如果你要在你的Makefile 中使用#字符,可以用反斜框进行转义,:\#。 (6)实目标与伪目标。Makefile 文件的目标分为两类:实目标和伪目标。

1.7K10

Makefile教程

CC:=g++ 自定义变量CC指明为编译器为g++,表示使用GNU C++ Compiler作为项目的编译器。 (5)编译选项。...若将all放在所有目标文件的前面,则使用make即可,无需指明make all,原因是make命令将Makefile第一个出现的目标作为最终目标,若不放在最前面,则必须指明make all。.../src //指定.cpp类型文件的搜索路径是src 7.4Makefileshell命令前加@字符 make执行的命令前面加了@字符,则不显示命令本身而只显示它的结果。...以上表示将变量foo以.a结尾的字符串替换成.b结尾并返回结果。注意,字符串处理函数并不会改变原有的字符串,变量的替换引用规则也不会改变原来字符串。...对于一般多字符变量的引用必须使用括号,否则make将把变量名的首字母作为作为变量而不是整个字符串($PATH在Makefile实际上是$(P)ATH)。

3.9K53

shell基础教程1-变量、字符串、数组、注释

参考文献: 环境 ubuntu 16.04 GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu) 1.查询使用shell及其版本号 1.1....找出目前正在使用shell类别 两个命令都可以找到。 使用$$ 通过特殊的shell参数$$可以查找出正在运行的shell的PID。$$参数是只读的不能修改。...找到当前的shell版本 一旦知道使用的哪个shell,可能还需要知道此shell的版本。在命令输入shell并在后面加上--version参数可以查看版本信息。...) 除了式地直接赋值,还可以用语句给变量赋值,: for file in `ls /etc` # 或 for file in $(ls /etc) 以上语句将/etc 下目录的文件名循环出来。...单引号 str='this is a string' 单引号字符串的限制: 单引号里的任何字符都会原样输出,单引号字符串的变量是无效的 单引号字串不能出现单独一个的单引号(对单引号使用转义符后也不行

1.7K20

全网最牛Linux内核Makefile系统文件详解(纯文字代码)

这个示例来源于GNUmake使用手册,在这个示例,我们的工程有8个C文件,和3个头文件,我们要写一个Makefile来告诉make命令如何编译和链接这几个文件。...一个需要我们注意的是,如果我们的文件名中有通配符,:“*”,那么可以用转义字符“\”,“\*”来表示真实的“*”字符,而不是任意长度的字符串。...我们在UNIX下可能会使用不同的Shell,但是make命令默认是被“/bin/sh”——UNIX的标准Shell解释执行的。除非你特别指定一个其它的Shell。...make 一般是使用环境变量SHELL中所定义的系统Shell来执行命令,默认情况下使用UNIX的 标准Shell——/bin/sh来执行命令。...如果你要使用真实的“$”字符,那么你需要用“$$”来表示。 变量可以使用在许多地方,规则的“目标”、“依赖”、“命令”以及新的变量

3.1K20
领券