makefile编写---单个子目录编译自动变量模板ok
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
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的更多相关文章
- makefile编写---单个子目录编译模板
经过这次地库项目之后,虽然时间不久,跟团队在一起,虽然队员不一定在技术上有过人之处,但是来自大公司的员工,在工具使用和代码规范方面还是有点可鉴之处,在搭建主控模块是,就得面临makefile编写,因为 ...
- Makefile学习之通配符和自动变量
规则中的通配符 “*” ,“?” ,“ [...]”, " % " , " wildcard " 1.“*” *.c表示所有后缀为.C的文件: 如果文件中用到 ...
- 多文件Makefile编写
工作过程中,平时不怎么关注Makefile的书写规则,对于遇到的编译错误一般能看懂Makefile的基本规则也能解决.但如果想要编写Makefile文件还是有相当的难度的,更不用说包含多个目录和文件的 ...
- makefile编写--引用
1. Makefile 简介 Makefile 是和 make 命令一起配合使用的. 很多大型项目的编译都是通过 Makefile 来组织的, 如果没有 Makefile, 那很多项目中各种库和代码之 ...
- Makefile之自动变量篇
自动变量假设您编写一个编译‘.c’文件生成‘.o’文件的规则:您怎样编写命令‘CC’,使它能够操作正确的文件名?您当然不能将文件名直接写进命令中,因为每次使用隐含规则操作的文件名都不一样. 您应该使用 ...
- 自动构建Makefile(1)--C/C++编译流程&Makefile规则简介
前言: 大家在Windows上使用VS构建C/C++程序时,不需要自己编辑略显晦涩的Makefile文件,而对于初学者而言, 他们甚至没意识到它的存在.VS是自动生成Makefile文件, 并构建 ...
- makefile 分析 -- 内置变量及自动变量
makefile 分析1 -p 选项,可以打印出make过程中的数据库, 下面研究一下内置的变量和规则. -n 选项, 只运行,不执行, -d 选项,相当于--debug=a, b(basic), ...
- 2.linux下Makefile编写规范
转自陈皓 (CSDN) 概述—— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 profession ...
- makefile编写
概述 什么是makefile?或许非常多Winodws的程序猿都不知道这个东西,由于那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序猿,makefil ...
随机推荐
- angular get/post 下载 excel
阅读目录 get请求 post请求 最近做项目,就碰到一个导出excel表格的功能.原本是想利用web前台导出excel的,但是最后因为两点放弃了,第一点,因为中文乱码,第二点,有分页(在前台导出ex ...
- JAMon监控SQL执行时间
JAMon监控web工程方法的调用性能 http://www.cnblogs.com/zfc2201/p/3786365.html 这往往篇文章主要告诉大家如何监控web方法调用时间,在这个基础这上, ...
- 绝对让你理解Android中的Context
这个问题是StackOverFlow上面一个热门的问题What is Context in Android? 整理这篇文章的目的是Context确实是一个非常抽象的东西.我们在项目中随手都会用到它,但 ...
- 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-如何让不同的PLC程序分线程运行 TC3
右击Tasks,添加一个新的Task 可以为这个线程设置自定义的扫描周期 然后在项目上右击添加Referenced Task 在TaskSub1上右击添加现有项,把之气写好的PRG程序绑定 ...
- Centos硬件信息
1.物理cpu个数 #cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l 2.每个物理cpu核数 #cat / ...
- Drawing-Order-Of-meshes-and-sprites
Sprite 和 Mesh Render 共存 [CanEditMultipleObjects] [CustomEditor(typeof(MeshRenderer))] public class M ...
- MyTools
using UnityEditor; using UnityEngine; using System.IO; using System.Collections; using System.Collec ...
- C++ 字符串转化成浮点型
第一种: char szString[] = "3.1415926535898"; double db1; db1 = atof(szString); printf(" ...
- 大巧不工web前端设计修炼之道—笔记
设计原则: 深入人心的设计--别让我思考 简洁是一种文化,一种需求,一种思想 ·排版 ·字体(衬线 | | 无衬线)
- Linux的fuser命令解析
fuser命令是用来显示所有正在使用着指定的file, file system 或者 sockets的进程信息. 例一: #fuser –m –u /mnt/usb1 /mnt/usb1: 1347c ...