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

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. flash

    1. 1.这种方式已经比较旧了, 2. html.push('<div class="flash-ad" style = "position:relative&qu ...

  2. 【JavaScript】 闭包 我战战兢兢的接触了它

    源:http://www.liaoxuefeng.com 1. 注意这里用了一个“创建一个匿名函数并立刻执行”的语法: (function (x) { return x * x; })(3); 理论上 ...

  3. 获取 AlertDialog自定义的布局 的控件

    AlertDialog自定义的布局 效果图: 创建dialog方法的代码如下: 1 LayoutInflater inflater = getLayoutInflater(); 2 View layo ...

  4. mysql-case ... when...then...else...end处理判断赋值机制

    then jrkp else zrspj end ))/(case zrspj then jrkp else zrspj end ) zdf from hqxg order by zdf LIMIT ...

  5. git初体验(四)git标签

    1.git 标题(tag) 关于git标签的描述,参考这里 2.标题管理 创建: 切换到需要打标签的分支上,如: git checkout master git tag v1.0 # 默认标签是打在最 ...

  6. 【Gym 100947C】Rotate It !!

    分两类,奇数和偶数的,用隔项前缀和算一下. #include <algorithm> #include <iostream> #define N 10005 using nam ...

  7. iOS7模拟器安装

    安装路径:/Library/Developer/CoreSimulator/Profiles/Runtimes 其中,后两个文件夹没有,需要手动创建. 把iOS7模拟器拖拽到Runtimes文件夹下即 ...

  8. 简单工厂VS工厂方法

    前言: GOF经典的23种设计模式在IT界现已被广为流传.由于比较长时间没有用了,个人对于不同模式与模式之间的区别也渐渐模糊,故开始重温设计模式的思想.也希望更给对设计模式感兴趣的朋友些许的启发. - ...

  9. here 文档

    #!/usr/bin/perl -w use strict; my $someURL = 'http://www.perl.com'; my $html = <<EOF; # EOF 可以 ...

  10. js-JavaScript高级程序设计学习笔记3

    第五章 引用类型 1.使用new操作符和Date构造函数创建日期对象. 2.创建特定日期有两个方法--Date.parse()和Date.UTC().后者小时数为0时显示时间是8点,应该是因为本地是东 ...