`
wangleyiang
  • 浏览: 220873 次
社区版块
存档分类
最新评论

Linux Make

阅读更多

语法格式:

 

目标:条件

(Tab键)命令

 

说明:

  • 目标可以是任意一个字符串称或文件名;
  • 条件可以是任意一个字符串称或文件名;
  • 执行Make脚本时,Make解释器会检查目标和条件中包含的文件的时间戳是否相同,当不同时才执行命令;

 

示例:

#Filename Makefile
#this file is used for show how to use makefile
$(info start working)
hello:hello.c
	echo "nothing"

hello.bin:hello.c
	@echo "now make hello.bin"
	gcc hello.c -o hello.bin

.PHONY:he
he:hello.c
	@echo "now make file"
	gcc hello.c -o hello.bin

#function
define showFirstName
	@echo $(1)
endef

define showWithoutParameters
	echo "OSS"
endef

.PHONY:name
name:
	#call function with parameters
	$(call showFirstName, AnhuiOSS, OSS)
	#call function without parameters
	$(showWithoutParameters)

 说明:

  • #符号是注释符;
  • $是函数调用符号;
  • 目标定义行前不能加空格,命令行前必须有Tab键;
  • .PHONY关键字声明的目标总是执行其指定的命令;
  • 命令行前的@符号的作用是不显示被执行的命令;

hello.c代码示例:

#include <stdio.h>    
int main(int argc, char** argv){
	printf("hello world!\n");
}

 运行方式:

make -f Makefile hello

 说明:-f用于指定被执行脚本的名称

 

宏(函数):Make脚本中有两种函数,分别是内置函数和用户定义函数,其中用户定义函数又分为有参和无参两类。

调用方式:

  1. 内置函数:(fname, param...);
  2. 带参用户定义函数:(call fname, param...);
  3. 无参用户定义函数:(fname);

定义方式:

define fname

#函数体

endef

 

分享到:
评论

相关推荐

    linux make命令

    Linux Make 命令详解 Make 命令是 Linux 中一个非常重要的命令,它可以自动维护目标文件,减少编译和连接的时间,对于大型系统的开发尤为重要。下面将详细介绍 Make 命令的使用方法和原理。 Make 命令的优点 Make...

    linux make 手册打包

    GNU make中文手册V3.8.pdf GNU Make 使用手册(中文).pdf 跟我一起学Makefile.pdf vim_user_manual_603.0.pdf Linux常用命令全集.CHM

    linux make menuconfig

    在深入探讨“Linux Make Menuconfig”这一主题之前,我们首先需要理解Make Menuconfig在Linux内核构建中的核心作用。Make Menuconfig是Linux内核提供的一种配置工具,它允许用户通过一个菜单驱动的界面来定制内核...

    Linux Make File中文教程

    Linux Make File中文教程,让你快速学会编写makefile!

    linux的32位make的rpm包

    linux的32位make的rpm包. This is the GNU variant of make(1). The purpose of this utility is to determine automatically which pieces of a large program need to be recompiled, and issue the commands to ...

    linux离线安装gcc、make、build-essential、Realtek8125b网卡驱动

    build-essential是Ubuntu和Debian等Linux发行版中的一个软件包集合,包含了构建大多数其他软件所需的最基本工具,包括GCC和make。 首先,你需要获取这些软件包的离线安装包。通常,可以从官方仓库或者第三方镜像...

    linuxUnix环境下的make和makefile详解.rar_dividehgx_linux make详解_makefile

    在Linux和Unix环境中,`make`是一个强大的自动化构建工具,它根据特定的规则来编译、链接源代码,极大地简化了软件项目的构建过程。而`makefile`则是make工具的配置文件,它定义了一系列的规则和目标,指导make如何...

    Linux Make file中文手册.PDF 200页

    3. **隐含规则**:Linux的`make`程序内置了一系列隐含规则,比如默认的编译C/C++源文件的规则,这使得开发者不必为常见操作编写显式规则。 4. **规则的执行**:`make`通过检查目标和依赖的修改时间来决定是否执行...

    make_ext4fs,linux下system.img打包工具

    make_ext4fs,linux下system.img打包工具 使用教程参见: https://blog.csdn.net/tabactivity/article/details/125993855

    linux离线安装gcc、make、build-essential、Realtek8125b网卡驱动.zip

    本案例中,我们关注的是如何在Linux系统下离线安装GCC编译器、make工具、build-essential包以及Realtek 8125b网卡驱动。这个压缩包提供了所有必要的文件和指南,使得用户可以按照步骤顺利完成安装。 首先,让我们来...

    Linux-Make文件的自动生成.pdf

    Linux-Make文件的自动生成 Linux 作为一个免费的操作系统,具有 BSD 和 SYSV 的扩展特性,简单地说 Linux 就是运行在微机上的 UNIX 的一个版本。在开发 Linux 应用程序时,Make 文件是必不可少的工具之一。Make ...

    linux_make指南

    Linux Make是Unix/Linux环境下的一种自动化构建工具,它使得开发者能够高效地管理编译和链接过程。这个工具在软件开发中扮演着重要的角色,特别是在大型项目中,它可以帮助开发者自动化构建过程,减少手动编译的工作...

    make-4.3.tar.gz

    《深入理解Linux下的Makefile与make工具:以make-4.3为例》 在Linux操作系统中,`make`是一款强大的自动化构建工具,它能够根据Makefile文件中的规则自动编译和链接程序,极大地提高了开发效率。`make-4.3`是`make`...

    Linux编程自动化:精通Make工具与Makefile

    《Linux下编程工具(make)》资源为您揭示了自动化代码构建的秘密——Make工具和Makefile的高级应用。 Make概述:GNU make不仅仅是一个构建工具,它是一种代码维护的艺术。它能够根据Makefile中定义的规则自动执行...

    Linux_make命令主要参数详解.txt

    ### Linux make命令主要参数详解 在Linux环境下,`make`命令是构建项目和管理软件编译过程的关键工具。它基于Makefile(一个包含规则和依赖关系的文本文件)来自动执行构建过程,大大简化了软件项目的编译和链接...

    make_ext4fs.zip

    总的来说,`make_ext4fs`、`mkuserimg.sh`和`simg2img`是Linux和Android系统开发中的重要工具,它们提供了一套便捷的方式来创建、管理和转换EXT4文件系统。了解和熟练掌握这些工具的使用,能有效提升系统维护和开发...

    make_ext4fs工具

    Android提供的制作ext4文件分区镜像的工具。Linux平台。

    Linux_Unix环境下的make和makefile详解(非常详细, 推荐!)

    在Linux和Unix环境中,`make`和`makefile`是两个关键工具,它们极大地提高了软件构建和维护的效率。本文将深入探讨这两个概念及其应用场景。 `make`是一个自动化构建工具,它根据`makefile`中的规则来编译、链接源...

    redis安装遇到的问题——linux centos7.5

    Redis 安装遇到的问题——Linux Centos7.5 Redis 是一个开源的、基于内存的数据结构存储系统,常用于数据库、缓存、消息队列等场景。但是,在 Linux Centos7.5 环境中安装 Redis 时可能会遇到一些问题,这篇文章将...

    linux下make和makefile用法

    "Linux 下 Make 和 Makefile 用法" Make 工具是 Linux 系统中一个非常重要的编译工具,它可以根据 Makefile 文件中的描述来自动维护编译工作。Makefile 文件是 Make 工具的核心组件,它定义了源程序之间的相互关系...

Global site tag (gtag.js) - Google Analytics