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

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. js前端分页

    转载:http://www.cnblogs.com/lyzg/p/5791011.html http://www.cnblogs.com/m-m-g-y0416/p/5601903.html

  2. js的Array的map和sort实现方法

    Array.prototype.mapA = function(fun /*, thisp*/) { var len = this.length; if (typeof fun != "fu ...

  3. 【对noip结束后一个月内的总结】

    最近在刷一些树结构,但发现没有一个提纲,觉得有点不知所措,经常学完一个就发现还有比它更好的,而且比较耗时间.于是沙茶准备按顺序刷bzoj的省选题,看看效果怎么样……求大神指教

  4. 半平面交模板(BZOJ1007)

    #include<cstdio> #include<algorithm> #define LDB long double using namespace std; ]; str ...

  5. /var/spool/clientmqueue 下生成太多文件处理

    问题现象: linux操作系统中的/var/spool/clientmqueue/目录下存在大量文件. 原因分析: 系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发 ...

  6. VirtualBox 扩展C盘

    1. 关闭虚拟机,找到ovi文件 2.执行命令: C:\Program Files\Oracle\VirtualBox>VBoxManage.exe modifyhd "C:\User ...

  7. KVM 内存虚拟化

    内存虚拟化的概念     除了 CPU 虚拟化,另一个关键是内存虚拟化,通过内存虚拟化共享物理系统内存,动态分配给虚拟机.虚拟机的内存虚拟化很象现在的操作系统支持的虚拟内存方式,应用程序看到邻近的内存 ...

  8. Android延时执行的几种方法

    开启新线程 new Thread(new Runnable(){ public void run(){ Thread.sleep(XXXX); handler.sendMessage(); //告诉主 ...

  9. ScrollView内部元素如何做到fill_parent 或者 match_parent?

    转  : http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0704/1629.html ScrollView滚动视图是指当拥有很多 ...

  10. Redis集群(六):集群常用命令及说明

    一.本文目的        介绍集群的基本情况及常用命令      二.集群的特点    3.集群优缺点 三.集群客户端命令(redis-cli -c -p port) 集群cluster info ...