1.自动化变量通配符http://blog.sina.com.cn/s/blog_7c95e5850101b38l.html

2.wildcard 使用http://blog.csdn.net/liangkaiming/article/details/6267357

3.srcs=(wildcard:%。o=%。c)说明

http://os.chinaunix.net/a2008/0312/978/000000978004.shtml

4.$(srcs):%.o:%.c说明==$(patsubst %.c,%.o $(wildcard  *.c))==$($(wildcard  *.c):%.c=%.o)

http://bbs.csdn.net/topics/380082064

http://www.linuxsir.org/bbs/thread205437.html

http://guliqun1983.blog.163.com/blog/static/50111685201171842740793/

5.规则http://www.cnblogs.com/pied/archive/2012/11/02/2751476.html

6.bug报错 http://zhidao.baidu.com/link?url=-TFGEM8kQx9O416zeRqcMkpkMP29aIcMYaNC-gteCQ62ydSfk5qJglEkr3h4-K3YofHfKfsDPsoGQr9qBELazq

http://www.baidu.com/#wd=%2Fusr%2Flib%2Fgcc%2Fi486-linux-gnu%2F4.4.3%2F..%2F..%2F..%2F..%2Flib%2Fcrt1.o%3A%20In%20function%20%60_start%27%3A&rsv_spt=1&rsv_bp=1&ie=utf-8&tn=baiduhome_pg&rsv_sug3=7&rsv_sug4=562&rsv_sug2=0&inputT=891&f=8&rsv_sug=1&bs=%25.c%3A%25.o&rsv_n=2

me:

Target  = auto

Cc = gcc
Cflags =  -Wall -O
Lflags = -lpthread
Include = -I
Ar = ar
Libs =

Srcs = $(wildcard *.c)
#$(wildcard,./sub/*.c) qudiao ','
Incs = $(wildcard *.h)
Objects = $(Srcs:%.c=%.o)

.PHONY:clean release install

all: release
print:
  @echo $(Srcs)
  @echo $(Incs)
  @echo $(Objects)
  @echo "why???"
release:$(Target)

$(Target):$(Objects)
 $(Cc)  $^  -o $@
 @echo $@
 @echo "pkf"
$(Objects):%.o:%.c $(Incs)          // this is not need!!!!!
 $(Cc) -c $< -o $@
 @echo $@
 @echo $<
clean:
 -rm *.o
 -rm $(Target)

exmple:

==============================================================
Target = TestIni
GCC = gcc
G++ = g++

CInc = $(wildcard *.h)
CSrc = $(wildcard *.c)

Cobjects =$(CSrc:%.c=%.o)
#Cobjects =$(patsubst %.c,%.o,$(CSrc))

release:$(Target)

$(Target): $(Cobjects)
$(GCC) -o $@ $^

##################test######################

#CInc += iniparser.h dictionary.h
#CSrc += iniparser.c dictionary.c
#Cobjects += iniparser.o dictionary.o
#CppObejects =
#$(Cobjects):$(Csrc)
# $(GCC) $(CInc) -c $<

#$(Target): iniparser.o dictionary.o
# $(GCC) -o $@ $^

#iniparser.o: iniparser.c
# $(GCC) $(CInc) -c $<
#dictionary.o: dictionary.c
# $(GCC) $(CInc) -c $<

clean:
rm -rf *.o $(Target) *.gch

===================================================

http://blog.csdn.net/liangkaiming/article/details/6267357

wildcard netdir patsubst

make -f makefile release

makefile编写---单个子目录编译自动变量模板ok的更多相关文章

  1. makefile编写---单个子目录编译模板

    经过这次地库项目之后,虽然时间不久,跟团队在一起,虽然队员不一定在技术上有过人之处,但是来自大公司的员工,在工具使用和代码规范方面还是有点可鉴之处,在搭建主控模块是,就得面临makefile编写,因为 ...

  2. Makefile学习之通配符和自动变量

    规则中的通配符 “*” ,“?” ,“ [...]”, " % " , " wildcard " 1.“*”  *.c表示所有后缀为.C的文件: 如果文件中用到 ...

  3. 多文件Makefile编写

    工作过程中,平时不怎么关注Makefile的书写规则,对于遇到的编译错误一般能看懂Makefile的基本规则也能解决.但如果想要编写Makefile文件还是有相当的难度的,更不用说包含多个目录和文件的 ...

  4. makefile编写--引用

    1. Makefile 简介 Makefile 是和 make 命令一起配合使用的. 很多大型项目的编译都是通过 Makefile 来组织的, 如果没有 Makefile, 那很多项目中各种库和代码之 ...

  5. Makefile之自动变量篇

    自动变量假设您编写一个编译‘.c’文件生成‘.o’文件的规则:您怎样编写命令‘CC’,使它能够操作正确的文件名?您当然不能将文件名直接写进命令中,因为每次使用隐含规则操作的文件名都不一样. 您应该使用 ...

  6. 自动构建Makefile(1)--C/C++编译流程&Makefile规则简介

      前言: 大家在Windows上使用VS构建C/C++程序时,不需要自己编辑略显晦涩的Makefile文件,而对于初学者而言, 他们甚至没意识到它的存在.VS是自动生成Makefile文件, 并构建 ...

  7. makefile 分析 -- 内置变量及自动变量

    makefile 分析1  -p 选项,可以打印出make过程中的数据库, 下面研究一下内置的变量和规则. -n 选项, 只运行,不执行, -d 选项,相当于--debug=a,  b(basic), ...

  8. 2.linux下Makefile编写规范

    转自陈皓 (CSDN) 概述—— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 profession ...

  9. makefile编写

    概述 什么是makefile?或许非常多Winodws的程序猿都不知道这个东西,由于那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序猿,makefil ...

随机推荐

  1. XSS跨站脚本测试用例

    '><script>alert(document.cookie)</script>='><script>alert(document.cookie)&l ...

  2. Java 字符串计算频率出现最高的字符

    public class HighFrequencyWord { public static void findFrequencyWord(String str) {          Collect ...

  3. PHPer 应聘见闻

    关于我自己 我,很普通的一个开发,88年出生在皖南山区.从小学到高中毕业都没想过自己会从事软件开发,高考的误打误撞,被某普通二本院校收编.大学浑浑噩噩,对软件开发也没多大的兴趣,11年毕业后来杭,面试 ...

  4. Android API Guides---Host-based Card Emulation

    Host-based Card Emulation 很多提供NFC功能的Andr​​oid手机已经支持NFC卡模拟.在大多数情况下.该卡是由在该装置的单独芯片仿真,称为安全元件. 无线运营商提供了非常 ...

  5. 如何设定linux系统时间

    1.设定日期 #date -s 09/28/2017 2.设定时间 #date -s 11:48:00 设定完了使用date命令查看系统时间,发现已经修改 下图是在Centos6.5 64位版上实际操 ...

  6. 爪哇国新游记之二十九----访问URL获取输入流

    代码: import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileWriter; import ...

  7. 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)人机界面Paintbuffer Overflow怎么办

    当在界面上绘制了太多元素时,点击运行会在左上角弹出对话框提示内容容量不够   在英文版的说明中,点击Visualization Manager就可以进行设置     更多教学视频和资料下载,欢迎关注以 ...

  8. C#跨平台物联网通讯框架ServerSuperIO(SSIO)正式开源... 1

    今天科技类最大的新闻,莫过于微软宣布.NET开发框架开源计划..NET 开源,集成 Clang 和 LLVM 而且自带 Android 模拟器,这意味着 Visual Studio 这个当下最好没有之 ...

  9. zh-cn en-uk表示语言(文化)代码与国家地区对照表

    af 公用荷兰语 af-ZA 公用荷兰语 - 南非 sq 阿尔巴尼亚 sq-AL 阿尔巴尼亚 -阿尔巴尼亚 ar 阿拉伯语 ar-DZ 阿拉伯语 -阿尔及利亚 ar-BH 阿拉伯语 -巴林 ar-EG ...

  10. wireshark过滤语法总结 (转载)

    做应用识别这一块经常要对应用产生的数据流量进行分析. 抓包采用wireshark,提取特征时,要对session进行过滤,找到关键的stream,这里总结了wireshark过滤的基本语法,供自己以后 ...