#.PHONY:cleanall cleanobj cleandiff

#cleanall:cleandiff cleanobj
# rm program #cleanobj:
# rm obj.c
# echo 'cleaning........'
#cleandiff:
# rm diff.c #命令cd和pwd同时执行
exec1:
cd ../
pwd #先执行命令cd再执行pwd
exec2:
cd ../;pwd
foo := a.o b.o c.o
bar := $(foo:.o=.c) #替换函数
exec3:
echo '$(bar)'
a := afrom
b := $(subst from,to,$a)
exec4:
@echo '$b' #取所在目录路径 dirs := $(dir src/foo.c hacks)
exec5:
@echo '$(dirs)' #取文件名后缀
suf1 := $(suffix a.c a.o)
exec6:
@echo '$(suf1)' #取前缀
bas = $(basename foo.x a.o)
exec7:
@echo '$(bas)' #添加后缀
addsux = $(addsuffix .c,foo bar)
exec8:
@echo '$(addsux)' #添加前缀
addpre = $(addprefix aa,foo bar)
exec9:
@echo '$(addpre)' #字串连接函数
pjoin = $(join aa, bb cc)
exec10:
@echo '$(pjoin)' #查找字串函数
findstr = $(findstring ab,dddabf)
exec11:
@echo '$(findstr)' #过滤函数
sources:=foo.c bar.c baz.s ugh.h
ss=$(filter %.c %.s,$(sources))
exec12:
@echo '$(ss)' #循环函数
names := a b c d
#表示将names的值依次放进n中,然后以.o的形式输出
files := $(foreach n,$(names),$(n).o)
exec13:
@echo '$(files)' reverse = $(2)$(1)
foo = $(call reverse,a,b)
exec14:
@echo '$(foo)'
reverse = $(2)$(1)
foo = $(call reverse,a,b)
exec15:
@echo '$(foo)' #查看变量的类型
aa = $(origin CC)
exec16:
@echo '$(aa)'
  

  

makefile实例的更多相关文章

  1. makefile实例(1)-helloworld

    简单makefile实例 1,源文件: main.cpp #include <stdio.h> int main() { printf("Hello World\n") ...

  2. Ubuntu下比较通用的makefile实例

    本文转自http://blog.chinaunix.net/uid-20608849-id-360294.html  笔者在写程序的时候会遇到这样的烦恼:一个项目中可能会有很多个应用程序,而新建一个应 ...

  3. Linux下GCC和Makefile实例(从GCC的编译到Makefile的引入)

    一.确认已经装好了GCC和Make的软件包 可以使用whereis命令查看: 如果whereis  gcc和whereis  make命令有结果,说明安装了这两个软件,可以继续往下做. 二.使用GCC ...

  4. makefile实例(3)-多个文件实例优化

    我们先看一下make是如何工作的在默认的方式下,也就是我们只输入make命令.那么,1.make会在当前目录下找名字叫“Makefile”或“makefile”的文件.2.如果找到,它会找文件中的第一 ...

  5. makefile实例(2)-多个文件实例

    1,源文件依赖关系 defs.h command.h buffer.h main.cpp * util.cpp * kde.cpp * * command.cpp * * display.cpp * ...

  6. Makefile 实例实践

    本文为原创文章,转帖需指明该文链接 目录结构如下: comm/inc/apue.h comm/errorhandler.c atexit.c Makefile 文件内容如下: apue.h   #if ...

  7. Linux下GCC和Makefile实例(从GCC的编译到Makefile的引入) 转

    http://www.crazyant.net/2011/10/29/linux%E4%B8%8Bgcc%E5%92%8Cmakefile%E5%AE%9E%E4%BE%8B%EF%BC%88%E4% ...

  8. Makefile 实例

    CROSS_COMPILE = HI_CFLAGS= -Wall -O2 -g -march=armv7-a -mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv ...

  9. Linux下C/C++程序开发管理(makefile)

    一.引言          从我们刚开始编写一个简单的C/C++ "Hello,World!",到将其编译.运行处结果—这部分工作IDE(集成开发环境)帮我们做了,包括语法错误检查 ...

随机推荐

  1. Hadoop记录-监控几个思路

    1.存活监控 基本监控,主要对进程的存活.端口连通性.url可检测性等指标进行监控. 2.2 可用性监控 主要指对用户而言是否可用,能否返回预期结果,通常部署在一些业务主流程或一些关键环节,如接口调用 ...

  2. java-map复合类型(HashMap-TreeMap)常用操作例子(适合初学者)

    package com.net.xinfang.reflect; import java.util.ArrayList; import java.util.HashMap; import java.u ...

  3. C#设计模式(2)——工厂模式

    1.工厂模式介绍 上一篇我们知道了简单工厂的缺点是:当我们添加一个新的产品时需要修改工厂类,这样就违背了开闭原则.工厂模式就是为了解决这一缺陷而出现的,解决的方法是把创建具体实例的任务放在了工厂的子类 ...

  4. 【转载】 C#读写注册表

    文章地址:https://blog.csdn.net/younghaiqing/article/details/61918968 自Windows95以来的所有Windows版本中,注册表是包含Win ...

  5. Java入门系列 Java 中的四种引用

    Why java内存管理分为内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看对象是否有引用指向该对象. java对象的引用包括强引用,软引用,弱引用,虚引用 Java中提供这四种引用类型 ...

  6. C# 绘图时使用抗锯齿会多出一个像素

    如下图,使用局部绘图覆盖后的效果. 减去像素后效果

  7. 使用java poi解析表格

    @Test public void poi() throws Exception { InputStream inputStream=new FileInputStream("C:\\Use ...

  8. python 学习 argparse

    1. argparse python 中用于解析命令行参数和选项的标准模块 创建一个解析器对象,解析器类ArgumentParser add_argument() 方法用来指定程序接受那些命令行参数, ...

  9. (15)DeleteColumnsMakeSortedIII

    一.问题描述 给定一个字符串形的数组,求最小的删除数目,使得删除后的字符串是字典型有序的. 二.思路Code package algorithm; /** * Created by adrian.wu ...

  10. oracle 窗口函数 (keep)

    看到很多人对于keep不理解,这里解释一下! Returns the row ranked first using DENSE_RANK2种取值:DENSE_RANK FIRSTDENSE_RANK  ...