1. Makefile可以使用变量代替

命令行:make -f Makefile2 说明开始make一个名为Makefile2的文件

###############定义变量##################
CC:=gcc
CFLAGS:=-Iinclude
CFLAGS+= -c
TARGET:=bin/mymath_test
DEPEND:=obj/mymath.o
DEPEND+=obj/mymath_test.o $(TARGET):$(DEPEND)
$(CC) -o $@ $^
obj/mymath.o:src/mymath.c
$(CC) -o $@ $(CFLAGS) $^
obj/mymath_test.o:src/mymath_test.c
$(CC) -o $@ $(CFLAGS) $^
clean:
rm -rf $(TARGET) $(DEPEND)
cd ..

  其中下面 目标:=依赖列表 都是变量定义

CC:=gcc
CFLAGS:=-Iinclude
CFLAGS+= -c
TARGET:=bin/mymath_test
DEPEND:=obj/mymath.o
DEPEND+=obj/mymath_test.o

第二:

$@ 表示当前目标文件

$^表示当前要目标要依赖的全部文件

  1. 常见的虚目标

主要说明clearn这个虚目标

make -f Makefile2 clean 表示清除刚才make编译好的文件;就是说删除刚才编译好的可执行文件和目标.o的文件

clean:
rm -rf $(TARGET) $(DEPEND)
cd ..
daokr@ubuntu:/mnt/hgfs/mystudy/clession10$ make -f Makefile2
gcc -o obj/mymath.o -Iinclude -c src/mymath.c
gcc -o obj/mymath_test.o -Iinclude -c src/mymath_test.c
gcc -o bin/mymath_test obj/mymath.o obj/mymath_test.o
daokr@ubuntu:/mnt/hgfs/mystudy/clession10$ make -f Makefile2 clean
rm -fr bin/mymath_test obj/mymath.o obj/mymath_test.o

  

###############定义变量##################
CC:=gcc
CFLAGS:=-Iinclude
CFLAGS+= -c
TARGET:=bin/mymath_test
DEPEND:=obj/mymath.o
DEPEND+=obj/mymath_test.o $(TARGET):$(DEPEND)#开始执行
$(CC) -o $@ $^
obj/mymath.o:src/mymath.c
$(CC) -o $@ $(CFLAGS) $^
obj/mymath_test.o:src/mymath_test.c
$(CC) -o $@ $(CFLAGS) $^
.PHONY:clean#指定clean是虚目标
clean:
rm -fr $(TARGET) $(DEPEND)

  

开始编写Makefile(二)Makefile变量的使用的更多相关文章

  1. makefile使用笔记(二)变量

    By francis_hao    Oct 30,2017   makefile中可以使用变量,变量有多种类型,下面分别介绍 简单变量 简单变量的命名规则和c语言一致. 给变量赋值就表示创建了这个变量 ...

  2. Makefile中的变量和shell变量

    我们在写makefile时 多多少少会用到shell脚本, 对于变量的在shell中的使用有一些要注意的细节.让我们从一个简单的makefile来看看. 注意makefile中一定要有一个目标,且一定 ...

  3. u-boot(二)makefile

    目录 u-boot(二)makefile 引入 目录结构(1.1.6) 配置文件 目标 配置具体的单板 编译阶段 过程 链接入口 配置链接地址 附录 附录A:mkconfig解析 附录B 链接脚本 t ...

  4. 跟我一起写Makefile(二)

    Makefile 总述——————— 一.Makefile里有什么? Makefile里主要包含了五个东西:显式规则.隐晦规则.变量定义.文件指示和注释. 1.显式规则.显式规则说明了,如何生成一个或 ...

  5. 联盛德 HLK-W806 (十二): Makefile组织结构和编译流程说明

    目录 联盛德 HLK-W806 (一): Ubuntu20.04下的开发环境配置, 编译和烧录说明 联盛德 HLK-W806 (二): Win10下的开发环境配置, 编译和烧录说明 联盛德 HLK-W ...

  6. makefile中使用变量

    makefile里的变量就像一个变量,变量的作用主要如下: (1)保存文件名列表. (2)保存编译器的参数. makefile中的变量是用一个字符串在makefile中定义的,这个文本串就是变量的值. ...

  7. makefile中打印变量名字,方便调试

    $(warning $(DVD_SERVICE)) // DVD_SerVICE是Makefile中的变量 $(warning   ST40_IMPORTS is $(ST40_IMPORTS)) 变 ...

  8. Makefile内置变量,递归式变量,直接展开式变量,条件赋值,追加赋值

    将shell命令的输出赋值给变量: VALUE = $(shell   命令) Makefile中给变量赋值: =     是递归展开式变量 value1 = 5 value2 = $(value1) ...

  9. 【Makefile】5-Makefile变量的基础

    目录 前言 概念 Chapter 5:变量的基础 5.1 变量的基础 * 空格的定义 ** 一些赋值 一些特殊的符号 5.2 变量中的变量 * 5.3 变量高级用法 变量值替换 把变量的值再当成变量 ...

  10. Configure,Makefile.am, Makefile.in, Makefile文件

    一 软件安装关于 makefile文件问题 如果拿到的工程文件中,没有Makefile文件,而只有configure.in和Makefile.am文件,我们是不能够直接进行编译的,必须根据config ...

随机推荐

  1. pdfplumber模块初始用

    import pdfplumber import re def pdf_read(): pdf=pdfplumber.open('文件路径'")#文件路径,读取文件 page0=pdf.pa ...

  2. visual studio code 命令行创建发布一个项目

    安装vs core 打开按ctrl+~键打开终端 输入dir看看有什么文件,输入md Test 创建一个文件夹,选择文件后创建一个项目 输入dotnet可以查看信息 执行dotnet --help或者 ...

  3. go liteIDE 快捷键

    Goland常用快捷键文件相关快捷键: CTRL+E,打开最近浏览过的文件.CTRL+SHIFT+E,打开最近更改的文件.CTRL+N,可以快速打开struct结构体.CTRL+SHIFT+N,可以快 ...

  4. windows10 iis浏览wcf报404.3错误

    报错:HTTP错误404.3-Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加MIME映射. 解决步骤如下: 控制面板->打开 ...

  5. 【.Net Core】编译时禁止自动生成netcoreapp文件夹

    原文:[.Net Core]编译时禁止自动生成netcoreapp文件夹 每次在编译生成文件时,VS都会自动在<OutputPath>属性指定的路劲后再追加一个用NetCore命名的文件夹 ...

  6. 使用jQuery开发tree插件

    1.插件截图 2.插件使用 首先引入jquery库,然后引入tree.js.tree.css文件,如下: <script type="text/javascript" src ...

  7. Bad state: Stream has already been listened to.

    https://stackoverflow.com/questions/51396769/flutter-bad-state-stream-has-already-been-listened-to T ...

  8. css实现 textarea 高度自适应

    此textarea非彼textarea ,有经验的老司机们应该知道html标签contenteditable这个属性. 利用此属性使当前的标签成为可以输入的状态,等同于输入框. 演示地址:https: ...

  9. day53-python之会话

    from django.shortcuts import render,redirect # Create your views here. import datetime def login(req ...

  10. Air for ANE:打包注意的地方

    来源:http://blog.csdn.net/hero82748274/article/details/8631982 今天遇到了一个打包ANE 文件的问题,导致花费了几个小时查找,最后师弟的一句话 ...