makefile实例
#.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实例的更多相关文章
- makefile实例(1)-helloworld
简单makefile实例 1,源文件: main.cpp #include <stdio.h> int main() { printf("Hello World\n") ...
- Ubuntu下比较通用的makefile实例
本文转自http://blog.chinaunix.net/uid-20608849-id-360294.html 笔者在写程序的时候会遇到这样的烦恼:一个项目中可能会有很多个应用程序,而新建一个应 ...
- Linux下GCC和Makefile实例(从GCC的编译到Makefile的引入)
一.确认已经装好了GCC和Make的软件包 可以使用whereis命令查看: 如果whereis gcc和whereis make命令有结果,说明安装了这两个软件,可以继续往下做. 二.使用GCC ...
- makefile实例(3)-多个文件实例优化
我们先看一下make是如何工作的在默认的方式下,也就是我们只输入make命令.那么,1.make会在当前目录下找名字叫“Makefile”或“makefile”的文件.2.如果找到,它会找文件中的第一 ...
- makefile实例(2)-多个文件实例
1,源文件依赖关系 defs.h command.h buffer.h main.cpp * util.cpp * kde.cpp * * command.cpp * * display.cpp * ...
- Makefile 实例实践
本文为原创文章,转帖需指明该文链接 目录结构如下: comm/inc/apue.h comm/errorhandler.c atexit.c Makefile 文件内容如下: apue.h #if ...
- 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% ...
- Makefile 实例
CROSS_COMPILE = HI_CFLAGS= -Wall -O2 -g -march=armv7-a -mcpu=cortex-a9 -mfloat-abi=softfp -mfpu=vfpv ...
- Linux下C/C++程序开发管理(makefile)
一.引言 从我们刚开始编写一个简单的C/C++ "Hello,World!",到将其编译.运行处结果—这部分工作IDE(集成开发环境)帮我们做了,包括语法错误检查 ...
随机推荐
- Hadoop记录-监控几个思路
1.存活监控 基本监控,主要对进程的存活.端口连通性.url可检测性等指标进行监控. 2.2 可用性监控 主要指对用户而言是否可用,能否返回预期结果,通常部署在一些业务主流程或一些关键环节,如接口调用 ...
- java-map复合类型(HashMap-TreeMap)常用操作例子(适合初学者)
package com.net.xinfang.reflect; import java.util.ArrayList; import java.util.HashMap; import java.u ...
- C#设计模式(2)——工厂模式
1.工厂模式介绍 上一篇我们知道了简单工厂的缺点是:当我们添加一个新的产品时需要修改工厂类,这样就违背了开闭原则.工厂模式就是为了解决这一缺陷而出现的,解决的方法是把创建具体实例的任务放在了工厂的子类 ...
- 【转载】 C#读写注册表
文章地址:https://blog.csdn.net/younghaiqing/article/details/61918968 自Windows95以来的所有Windows版本中,注册表是包含Win ...
- Java入门系列 Java 中的四种引用
Why java内存管理分为内存分配和内存回收,都不需要程序员负责,垃圾回收的机制主要是看对象是否有引用指向该对象. java对象的引用包括强引用,软引用,弱引用,虚引用 Java中提供这四种引用类型 ...
- C# 绘图时使用抗锯齿会多出一个像素
如下图,使用局部绘图覆盖后的效果. 减去像素后效果
- 使用java poi解析表格
@Test public void poi() throws Exception { InputStream inputStream=new FileInputStream("C:\\Use ...
- python 学习 argparse
1. argparse python 中用于解析命令行参数和选项的标准模块 创建一个解析器对象,解析器类ArgumentParser add_argument() 方法用来指定程序接受那些命令行参数, ...
- (15)DeleteColumnsMakeSortedIII
一.问题描述 给定一个字符串形的数组,求最小的删除数目,使得删除后的字符串是字典型有序的. 二.思路Code package algorithm; /** * Created by adrian.wu ...
- oracle 窗口函数 (keep)
看到很多人对于keep不理解,这里解释一下! Returns the row ranked first using DENSE_RANK2种取值:DENSE_RANK FIRSTDENSE_RANK ...