/*****************************************************************************
* iot_programe Makefile hacking
* 说明:
* 富林这边编写的demo,看一下其Makefile是怎么处理所有的源代码的,有生成动态、
* 静态链接库,以及直接编译输出,其实模块化编译的模式还是很好的。
*
* 2017-8-12 深圳 龙华樟坑村 曾剑锋
****************************************************************************/ 一、参考文档:
. Linux GCC编译使用动态、静态链接库
http://blog.csdn.net/a600423444/article/details/7206015 二、Makefile
all:
make -C gpio_led/main all
... clean:
make -C gpio_led/main clean
... 三、gpio_led/main/Makefile
CC = arm-linux-gnueabihf-gcc all:
make -C ../src
# use share library
$(CC) main.c -o gpio_led -L ../src/ -lgpio_led # directory compile with source code
$(CC) main.c ../src/gpio_led.c -o my_gpio_led clean:
rm gpio_led my_gpio_led -rf
make -C ../src clean 四、gpio_led/src/Makefile
CC = arm-linux-gnueabihf-gcc
AR = arm-linux-gnueabihf-ar all:
# output share library
$(CC) gpio_led.c -fPIC -shared -o libgpio_led.so # output static library
$(CC) -c gpio_led.c -o libgpio_led.o -I ../include
$(AR) rcv libgpio_led.a libgpio_led.o clean:
rm *.so *.o *.a

iot_programe Makefile hacking的更多相关文章

  1. ti processor sdk linux am335x evm Makefile hacking

    # # ti processor sdk linux am335x evm Makefile hacking # 说明: # 本文主要对TI的sdk中的Makefile脚本进行解读,是为了了解其工作机 ...

  2. I.MX6 U-Boot mkconfig hacking

    /**************************************************************************** * I.MX6 U-Boot mkconfi ...

  3. Makefile 變數替換

    Makefile SUBDIRS = xxx aaa BUILDSUBDIRS = $(SUBDIRS:%=build-%) CLEANSUBDIRS = $(SUBDIRS:%=clean-%) . ...

  4. Linux kernel config and makefile system

    转载自:http://blog.csdn.net/dreamxu/article/details/6125545 http://www-900.ibm.com/developerWorks/cn/li ...

  5. LibOpenCM3(二) 项目模板 Makefile分析

    目录 LibOpenCM3(一) Linux下命令行开发环境配置 LibOpenCM3(二) 项目模板 Makefile分析 LibOpenCM3 项目模板 项目模板地址: https://githu ...

  6. 说说Makefile那些事儿

    说说Makefile那些事儿 |扬说|透过现象看本质 工作至今,一直对Makefile半知半解.突然某天幡然醒悟,觉得此举极为不妥,只得洗心革面从头学来,以前许多不明觉厉之处顿时茅塞顿开,想想好记性不 ...

  7. 编写一个通用的Makefile文件

    1.1在这之前,我们需要了解程序的编译过程 a.预处理:检查语法错误,展开宏,包含头文件等 b.编译:*.c-->*.S c.汇编:*.S-->*.o d.链接:.o +库文件=*.exe ...

  8. 编写简单的Makefile文件

    makefile中的编写内容如下: www:hello.c x.h gcc hello.c -o hello clean: rm hello www:hello.c  x.h 表示生成www这个文件需 ...

  9. ★Kali信息收集~ 1.Google Hacking + Github Hacking

    一.google hacking site site:cnblogs.com 毒逆天 intitle intitle:login allintitle allintitle:index of alli ...

随机推荐

  1. JAVA基础补漏--SET

    HashSet: 1.无序集合. 2.底层是一个哈希表结构,查询速速很快. 哈希表==数据 + 链表/红黑树 特点:查询速度快. 存储数据到SET中: 1.计算数据的HASH值. 2.查看有没有相同H ...

  2. Memcached stats sizes 命令

    Memcached stats sizes 命令用于显示所有item的大小和个数. 该信息返回两列,第一列是 item 的大小,第二列是 item 的个数. 语法: stats sizes 命令的基本 ...

  3. SSH密钥登陆免密码方法

    原帖地址:http://ask.apelearn.com/question/798 用Putty实现A机器远程登陆B机器,具体实现请看链接:http://www.cnblogs.com/ImJerry ...

  4. LeetCode第[91]题(Java):Decode Ways(解码方法数)

    题目:解码方法数 难度:Medium 题目内容: A message containing letters from A-Z is being encoded to numbers using the ...

  5. 使用bootstrap时碰到问题$(...).modal is not a function

    我出现这个问题是,因为bootstrap没有正确引入. 除了bootstrap的路径需要被正确引入外,它引入时还要放在jquery.js后面,否则也会报这个错误.

  6. Android数据库框架-----GreenDao3的相关使用和版本升级更新

    GreenDAO是一款非要流行的Android平台上的数据库框架,性能优秀,代码简洁:是一个将对象映射到SQLite数据库中的轻量且快速的ORM解决方案. GreenDAO 优势 1.一个精简的库 2 ...

  7. StringUtils.isNumeric()的特殊点

    String str = "-1"; StringUtils.isNumeric(str) 返回的是false StringUtils.isNumeric()方法在判断字符串是否是 ...

  8. HDU-4705-树形dp/组合数学

    Y Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submiss ...

  9. UVA-10054 The Necklace (欧拉回路)

    题目大意:有n个珠子,珠子两边的颜色已知,问能否连成一条项链.(两个珠子可以项链当且仅当一个珠子的一边颜色与另一个珠子的另一边颜色相同). 题目分析:欧拉回路.将颜色视作节点,珠子当做边,问题变成了找 ...

  10. 闲话__stdcall, __cdecl, __fastcall出现的历史背景以及各自解决的问题

    可以认为最先由微软搞出来了__stdcall, 其实就是和WINAPI的声明是一样的,入栈顺序是从右到左,函数返回时,会进行出栈操作. PASCAL语言是非常古老的编程语言,在C语言之前,因此在当时的 ...