首页 > 其他分享 >make命令

make命令

时间:2023-08-01 15:34:30浏览次数:33  
标签:选项 文件 编译 make makefile 源文件 命令

 

内核驱动通用makefile:
KERNELDIR := /share/linux-src
CURRENT_PATH := $(shell pwd)

ENV:=ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

obj-m := ramdisk.o

build: kernel_modules

kernel_modules:
        $(MAKE) $(ENV) -C $(KERNELDIR) M=$(CURRENT_PATH) modules

clean:
        $(MAKE) $(ENV) -C $(KERNELDIR) M=$(CURRENT_PATH) clean

 

 

编程开发

make命令是GNU的工程化编译工具,用于编译众多相互关联的源代码问价,以实现工程化的管理,提高开发效率。

语法

make(选项)(参数)

选项

-f:指定“makefile”文件;
-i:忽略命令执行返回的出错信息;
-s:沉默模式,在执行之前不输出相应的命令行信息;
-r:禁止使用build-in规则;
-n:非执行模式,输出所有执行命令,但并不执行;
-t:更新目标文件;
-q:make操作将根据目标文件是否已经更新返回"0"或非"0"的状态信息;
-p:输出所有宏定义和目标文件描述;
-d:Debug模式,输出有关文件和检测时间的详细信息。

Linux下常用选项与Unix系统中稍有不同,下面是不同的部分:

-c dir:在读取 makefile 之前改变到指定的目录dir;
-I dir:当包含其他 makefile文件时,利用该选项指定搜索目录;
-h:help文挡,显示所有的make选项;
-w:在处理 makefile 之前和之后,都显示工作目录。

参数

目标:指定编译目标。

知识扩展

无论是在linux 还是在Unix环境 中,make都是一个非常重要的编译命令。不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或make install。利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和 makefile工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。

而且如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员 来说简直就是一场灾难。而make工具则可自动完成编译工作,并且可以只对程序员在上次编译后修改过的部分进行编译。

因此,有效的利用make和 makefile工具可以大大提高项目开发的效率。同时掌握make和makefile之后,您也不会再面对着Linux下的应用软件手足无措了。

 

https://man.linuxde.net/make



标签:选项,文件,编译,make,makefile,源文件,命令
From: https://blog.51cto.com/u_5513510/6922816

相关文章

  • mongostat命令的简单使用
    有点类似linux平台的vmstat命令,只不过mongostat输出的是mongodb实例的相关信息。在命令行下使用,会间隔固定时间(默认1s)获取mongodb的当前运行状态,并输出结果。例如:每秒打印一次,共打印20次​#连接到复制集$mongostat--host=20.20.20.64:27017,20.20.20.65:27017,20.20.20.......
  • 格式化输出\pset命令详解
    语法"\pset"命令的语法如下:\pset[option[value]]postgres@linuxpg51:5432=#\psetborder1columns0csv_fieldsep','expandedofffieldsep'|'fieldsep......
  • Linux服务器宕机原因有哪些可以通过那些命令详细排查
    dmesg:这个命令可以查看系统启动时内核产生的日志信息,可以通过检查日志来了解是否有硬件或内核问题。journalctl:这个命令可以查看系统日志,包括服务启动、停止、错误信息等,可以帮助找到服务是否出现问题。top和htop:这两个命令可以查看系统当前的进程状态和资源占用情况,可能可......
  • Git基础命令
    Git配置1.查看当前的git配置信息gitconfig--list4.查看git用户名或邮箱gitconfig--globaluser.name#查询git所使⽤的用户名gitconfig--globaluser.email#查询git所使⽤的email#注:--global表示全局,没有--global表示只查询......
  • Linux常用耗资源命令汇总
    在Linux中,以下命令可能在处理大量数据或复杂操作时比较消耗资源。一般来说,涉及大量数据处理、计算或者I/O操作的命令会比较耗费系统资源。​注意:所有命令资源消耗都是相对的,基于文件的处理量来展现find命令通常会比较消耗资源,因为它需要遍历整个文件系统来查找文件......
  • show processlist 命令
    SHOWPROCESSLIST是一个MySQL命令,用于显示当前连接到MySQL服务器的所有活动进程的信息。以下是SHOWPROCESSLIST命令的详细用法:SHOWPROCESSLIST;这个命令将返回一个结果集,其中包含每个活动进程的一行记录。每行记录包含了以下列:Id:连接标识符(connectionidentifier)。User......
  • 6.2 U-boot 顶层 Makefile
    一、U-boot工程目录分析  如果要分析uboot源码,首先要将uboot源码进行编译,编译需要在Ubuntu进行,把uboot文件放在一个目录下。编译完成后的文件是这样:我们需要看的文件夹如下。1.arch文件夹  从上图可以看出有很多架构,比如arm、m68k、x86等,我们现在用的是ARM芯......
  • linux 中sed命令中-D选项
     001、-D选项用于限定只删除模式空间中的第一行[root@PC1test01]#lsdata.txt[root@PC1test01]#catdata.txt##测试数据HeaderLineFirstDataLineEndofDataLines##N选项将匹配Header的行及下一行当做一行来出列,D选项用于删除模式空间的第一行,即he......
  • linux 中 sed命令中-n和-N选项
     001、-n(next),处理匹配行的下一行[root@PC1test01]#lsa.txt[root@PC1test01]#cata.txt##测试数据010203040506070809101112131415[root@PC1test01]#sed'/07/{n;d}'a.txt##处理匹配07行的下一行,即删除01020304050607......
  • 【技术积累】Linux中的命令行【理论篇】【二】
    ag命令命令介绍ag命令是一个用于在Linux系统中进行文本搜索的工具。它是基于SilverSearcher的改进版本,具有更快的搜索速度和更强大的功能。ag命令的基本用法是在指定的目录中搜索指定的关键字。例如,要在当前目录中搜索关键字"example",可以使用以下命令:agexampleag命令会递......