/*****************************************************************************
* 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

最新文章

  1. 微信JS SDK Demo 官方案例[转]
  2. Sublime Text 3 Install Markdown Preview Plugins
  3. I2C 总线协议
  4. DrawTools(画图工具)原始版本
  5. React Native 简介:用 JavaScript 搭建 iOS 应用 (1)
  6. POJ 1778 All Discs Considered(拓扑排序)
  7. python交换两个变量的值,一句代码搞定
  8. Swift实现JSON转Model - HandyJSON使用讲解
  9. io文本加密
  10. Ubuntu16.04下Hadoop的本地安装与配置
  11. TreeView CheckBox勾选联动
  12. textarea 标签的使用
  13. Laravel-nestedset that base left and right values tree package
  14. SAS对数据变量的处理
  15. JSONObject使用方法详解
  16. 1.mybatis入门
  17. Matplotlib绘图双纵坐标轴设置及控制设置时间格式
  18. efcore操作mysql,出现System.InvalidOperationException:“No coercion operator is defined between types 'System.Int16' and 'System.Boolean'.”
  19. SqlAlchemy操作(二)
  20. dp之二维背包poj2576

热门文章

  1. Commons FileUpload
  2. UVA 12063 Zeros and Ones(三维dp)
  3. codeforce 589B枚举
  4. Gym100783C Golf Bot(FFT)
  5. byte字节数组的压缩
  6. java工具类使用
  7. webstorm自动换行
  8. 轻量级 HTTP(s) 代理 TinyProxy
  9. KVM与XEN虚拟化环境究竟有何不同
  10. C++(三十二) — 常对象、常成员变量、常成员函数