学习makefile与autoconfig笔记,持续更新
main.c
#include<stdio.h>
#include"chen_print.h" int main(int argc , char * argv ){
chen_print("haha , I'm coming makefile\n");
return ;
}
chen_print.c
#include<stdio.h>
void chen_print( char * str ){
printf("you enter string is :\n\t%s",str);
}
chen_print.h
void chen_print( char * str );
makefile
main:chen_print.h libchen_print.a
gcc main.c -o main -L./ -lchen_print
libchen_print.a:chen_print.o
ar -r libchen_print.a chen_print.o chen_print.o:chen_print.h chen_print.c
gcc -c chen_print.c -o chen_print.o clean:
rm -f *.o
rm -f *.a
rm -f main
简单介绍一下makefile的格式
target:filename1 filename2
<tab>common
其实makefile的规则很简单,就是看你的目标文件(target)做依赖的文件(filename1 filename2)是否有更新,如果依赖文件更新了,它就会自动执行下面的shell命令
注意,shell命令必须要一<table>键做开头,makefile的格式强制这样,没有办法。如果你觉得<tab>不够美观,建议你修改tab的跳转空格数:
vi 上执行:set ts=3
或者直接修改vi的默认配置文件
vi ~/.vimrc
如果原文件已经存在: set ts=n ,那样修改它就好了,如果不存在这句,那么直接在文件末尾加上即可。
我的makefile中还写了clean的命令,是做环境清理用的,执行
$>make clean
它就会执行下面清理的动作
同理,我们在使用
$>make install
这些命令时,实质上就是执行一些shell动作
******************************************
自己学习的网站资料:
详细介绍makefile的用法,入门必备
http://blog.csdn.net/liang13664759/article/details/1771246
有一些入门基础后看的进阶文章
http://goodcandle.cnblogs.com/archive/2006/03/30/278702.html
学习makefile与autoconfig笔记,持续更新的更多相关文章
- BLE资料应用笔记 -- 持续更新
BLE资料应用笔记 -- 持续更新 BLE 应用笔记 小书匠 简而言之,蓝牙无处不在,易于使用,低耗能和低使用成本.'让我们'更深入地探索这些方面吧. 蓝牙无处不在-,您可以在几乎每一台电话.笔记本电 ...
- C++入职学习篇--代码规范(持续更新)
C++入职学习篇--代码规范(持续更新) 一.头文件规范 在头文件中大家一般会定义宏.引入库函数.声明.定义全局变量等,在设计时最后进行分类,代码示范(自己瞎琢磨的,请多多指点): #ifndef T ...
- [读书]10g/11g编程艺术深入体现结构学习笔记(持续更新...)
持续更新...) 第8章 1.在过程性循环中提交更新容易产生ora-01555:snapshot too old错误.P257 (这种情况我觉得应该是在高并发的情况下才会产生) 假设的一个场景是系统一 ...
- java 学习必备的软件,持续更新中
小编会持续更新在学习Java过程中需要的软件以及各种文件: 话不多说,看行动! 一:JDK (1)JDK1.8(*64): 链接:https://pan.baidu.com/s/1vM0jNXn2CT ...
- 资源| 学习视频库-永久有效,持续更新!附赠java面试汇总
每天进步一丢丢,连接梦与想 我们总是羡慕他人的光芒,却忘记自己也会发光 声明 资源来自于网络,小编只是资源的搬运工,若有侵权,联系小编即删. 期待已久的学习视频库来啦! 经过小编多日整理,整理了1.5 ...
- react-native-storage 使用笔记 持续更新
React-native-storage是在AsyncStorage之上封装的一个缓存操作插件库,刚开始接触这个也遇到了一些问题,在这里简单记录总结一下,碰到了就记下来,持续更新吧 1.安卓下stor ...
- 数据分析之Pandas和Numpy学习笔记(持续更新)<1>
pandas and numpy notebook 最近工作交接,整理电脑资料时看到了之前的基于Jupyter学习数据分析相关模块学习笔记.想着拿出来分享一下,可是Jupyter导出来h ...
- Semantic ui 学习笔记 持续更新
这个semantic 更新版本好快~ 首先是代码的标识<code></code> 具体样式就是红框这样的 圈起来代码感觉不错 不过要在semantic.css里在加上如下样式~ ...
- Git学习笔记(持续更新)
1.强制同步为远程的代码 远程仓库回退了commit的情况下(第2条描述之情况),强制同步远程的代码到本地 #更新远程最新的所有代码,但是不merge或者rebase git fetch --all ...
随机推荐
- Running several name-based web sites on a single IP address.
VirtualHost Examples - Apache HTTP Server Version 2.2 http://httpd.apache.org/docs/2.2/vhosts/exampl ...
- sort_action
li, r = [23,8, 45, 5, 0, -6, 745,8, 8], [] while (len(li) > 0): loop_, min, tag = len(li), li[0], ...
- mybatis入门(十)
mybatis和hibernate本质区别和应用场景 hibernate:是一个标准ORM框架(对象关系映射).入门门槛较高的,不需要程序写sql,sql语句自动生成了. 对sql语句进行优化.修改比 ...
- python自动化运维八:Ansible
Ansible是新出现的自动化运维工具,基于Python研发.糅合了众多老牌运维工具的优点实现了批量操作系统配置.批量程序的部署.批量运行命令等功能.仅需在管理工作站上安装ansible程序配置被管控 ...
- s:text
<s:text>是Struts2用来显示资源文件中信息或格式化数据时使用的,一般要配合<s:i18n>标签.
- C#继承与多态
继承:在程序中,如果一个类A:类B,这种机制就是继承. 子类可以继承父类的所有内容(成员)吗? 解析: 1.私有成员(属性和方法) 2.构造函数 3.final修饰过的方法,子类不能进行重写 //SE ...
- Apktool 和 Jeb 给出的不同的smali语法
今天发现用Apktool和Jeb反编译出来的smali在语法上有一定区别,比如一个Java函数: private void packageNameCheck() { com.example.testf ...
- CodeForces813E:Army Creation (主席树---上一题的加强版)
As you might remember from our previous rounds, Vova really likes computer games. Now he is playing ...
- disablescroll
页面的设置 disablescroll:true(需要配合设置 enablePullDownRefresh:false ) 可以实现页面上下不能滑动 另一种实现方法: 设置页面的根元素 绝对定位, p ...
- 《Kubernetes权威指南第2版》学习(一) Kubernetes是什么
1.1 Kubernetes是什么? 首先,它是一个全新的基于容器技术的分布式架构领先方案.是谷歌的Borg(大规模集群管理系统)的一个开源版本. 其次,如果系统设计遵循了Kubernetes的设计思 ...