开了一个交流群,欢迎爱好者和开发者一起交流,转载请注明出处。

QQ群:519230208,为避免广告骚扰,申请时请注明 “开发者” 字样

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

automake和autoconf 生成大型项目的makefile编写
http://blog.csdn.net/fuli1215/article/details/6399175 使用GNU Autoconf/Automake创建Makefile
http://blog.csdn.net/exbob/article/details/6998430

Makefile.am

bin_PROGRAMS = bterminal sample_nmea

bterminal_SOURCES = bterminal.c ble_serial.c
bterminal_LDADD=../libs/libnmea.a sample_nmea_SOURCES = sample_nmea.c
sample_nmea_LDADD=../libs/libnmea.a INCLUDES= -I../include AM_CFLAGS = @bterminal_CFLAGS@
AM_LDFLAGS = @bterminal_LIBS@ CLEANFILES = *~

linux编程一定要会写makefile,否则工程不能织成网,每个文件只能单兵作战

红色标记部分需要认真理解

CC = gcc 

#CC=arm-poky-linux-gnueabi-gcc --sysroot=/home/summer/test-yocto/qemuarm
#LD=arm-poky-linux-gnueabi-ld --sysroot=/home/summer/test-yocto/qemuarm
#CFLAGS=-O2 -pipe -g -feliminate-unused-debug-types
#CXXFLAGS=-O2 -pipe -g -feliminate-unused-debug-types BIN = lib/libgpsserial.a
MODULES = gpsserial
SAMPLES = gpsreader OBJ = $(MODULES:%=build/gpsserial_gcc/%.o)
LINKOBJ = $(OBJ) $(RES) SMPLS = $(SAMPLES:%=samples_%)
SMPLOBJ = $(SAMPLES:%=samples/%/main.o) INCS = -I include
LIBS = -lm -Llib -lgpsserial -Llibs -lnmea .PHONY: all all-before all-after clean clean-custom doc all: all-before $(BIN) samples all-after all-before:
mkdir -p build/gpsserial_gcc clean: clean-custom
rm -f $(LINKOBJ) $(BIN) $(SMPLOBJ) $(SMPLS) doc:
$(MAKE) -C doc remake: clean all $(BIN): $(LINKOBJ)
ar rsc $@ $^
ranlib $@ build/gpsserial_gcc/%.o: src/%.c
$(CC) $(INCS) -c $< -o $@ samples: $(SMPLS) samples_%: samples/%/main.o
$(CC) $< $(LIBS) -o build/$@ -lm samples/%/main.o: samples/%/main.c
$(CC) $(INCS) -c $< -o $@

Yocto开发笔记之《Makefile编写》(QQ交流群:519230208)的更多相关文章

  1. 运维开发笔记整理-URL配置

    运维开发笔记整理-URL配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.URL路由 对于高质量的Web应用来说,使用简洁,优雅的URL的路由是一个非常值得重视的细节.Dja ...

  2. Yocto开发笔记之《快速入门,环境搭建 & 编译》(QQ交流群:519230208)

    开了一个交流群,欢迎爱好者和开发者一起交流,转载请注明出处. QQ群:,为避免广告骚扰,申请时请注明 “开发者” 字样 ======================================== ...

  3. Yocto开发笔记之《根文件系统裁剪》(QQ交流群:519230208)

    开了一个交流群,欢迎爱好者和开发者一起交流,转载请注明出处. QQ群:519230208,为避免广告骚扰,申请时请注明 “开发者” 字样 =============================== ...

  4. Yocto开发笔记之《嵌入式linux libcurl编程》(QQ交流群:519230208)

    开了一个交流群,欢迎爱好者和开发者一起交流,转载请注明出处. QQ群:519230208,为避免广告骚扰,申请时请注明 “开发者” 字样 =============================== ...

  5. Yocto开发笔记之《驱动调试-GPS数据采集》(QQ交流群:519230208)

    开了一个交流群,欢迎爱好者和开发者一起交流,转载请注明出处. QQ群:519230208,为避免广告骚扰,申请时请注明 “开发者” 字样 =============================== ...

  6. Yocto开发笔记之《Tip-bitbake常用命令》(QQ交流群:519230208)

    开了一个交流群,欢迎爱好者和开发者一起交流,转载请注明出处. QQ群:519230208,为避免广告骚扰,申请时请注明 “开发者” 字样 =============================== ...

  7. [Openwrt 项目开发笔记]:MySQL配置(六)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在本人的项目中,运行在路由器上的服务器采用Ngi ...

  8. 《linux就该这么学》课堂笔记12 网卡配置、防火墙配置

    1.网卡配置(四种方法,选其一即可,配置后须重启网络服务使其生效) 1)修改配置文件./etc/sysconfig/network-scripts/ifcfg-网卡名称 2)nmtui [RHEL7] ...

  9. Yocto开发笔记之《网卡配置》(QQ交流群:519230208)

    QQ群:519230208,为避免广告骚扰,申请时请注明 “开发者” 字样 ============================================== # ifconfig -a # ...

随机推荐

  1. Day Five (beta)

    站立式会议 站立式会议内容总结 331 今天:爬虫抓取豆瓣数据; 明天:数据展示在话题详情页,话题页修改 442 今天:了解聊天模块 遇到的问题:无 明天:编写聊天模块 439 今天:学习 遇到困难 ...

  2. Java网络编程——TCP实例

    1.客户端 1.1:创建服务端点 1.2:获取已有数据 1.3:通过socket输出流将数据发送给服务端 1.4:读取服务端反馈信息 1.5:关闭socket import java.io.Buffe ...

  3. MySQL中的insert ignore into, replace into等的一些用法总结

    在MySQL中进行条件插入数据时,可能会用到以下语句,现小结一下.我们先建一个简单的表来作为测试: CREATE TABLE `books` ( `id` INT(11) NOT NULL AUTO_ ...

  4. navicat cannot create file 文件名、目录名或卷标语法不正确 解决方法

    配置了mycat,用navicat连接8066端口,点击“查询”的时候发现出现报错: 开始以为是mycat的配置有问题,找了好久都没发现错误.根据提示信息进入到相应的目录发现每个连接其实就是一个win ...

  5. openwrt刷机后配置PPPOE上网方法

    参考下帖13#的方式: 如何编辑配置openwrt,来实现pppoe拨号上网? 但其中有一句代码有错误: option 'peerdns' '0',其中需将‘0’改为‘1’

  6. [转]IPTABLES中SNAT和MASQUERADE的区别

    IPtables中可以灵活的做各种网络地址转换(NAT)网络地址转换主要有两种:SNAT和DNAT SNAT是source network address translation的缩写即源地址目标转换 ...

  7. 工具软件发现(编写chm 文件的工具)

    编写chm 文件的工具 1.PrecisionHelper 安装之后,发现 编写的很不方便,直接在html 上编写-- 不好用 2.Winchm (推荐) 很好用,赞!至少对比了上面那个复杂的操作之后 ...

  8. C#-WinForm-ListView-表格式展示数据、如何将数据库中的数据展示到ListView中、如何对选中的项进行修改

    在展示数据库中不知道数量的数据时怎么展示最好呢?--表格 ListView - 表格形式展示数据 ListView 常用属性 HeaderStyle - "详细信息"视图中列标头的 ...

  9. 7 static关键字

    class Person { static int i; static void fun() { System.out.println("我是静态函数"); } } 在静态函数中不 ...

  10. Value和Object的区别

    在使用NSMutableDictionary的时候经常会使用setValue forKey与setObject forKey,他们经常是可以交互使用的,代码中经常每一种的使用都有. 1,先看看setV ...