一个通用的makefile
# ESDK the makefile setting file - chenwg@20131014
# you can modify "PC = 1" such as "MIPS = 1" "ARM = 1"
TOPDIR := .
BINDIR := $(TOPDIR)/bin
INCDIR := $(TOPDIR)/inc
EXCLUDEDIRS := tools
SRCS := $(shell find $(TOPDIR) -name "*.c")
OBJS := $(SRCS:%.c=%.o)
EXE := test
CLEAN_FILE := $(shell find $(TOPDIR) -name "*.o")
CLEAN_FILE += $(shell find $(TOPDIR) -name "*~")
CLEAN_FILE += $(EXE)
Q=@
E=echo
ifeq ($(V),1)
Q=
E=true
endif
LDFLAGS :=
LIBS += -pthread -lpthread
CFLAGS += -m32 -I$(INCDIR) -DCONFIG_OS_LINUX
CC := gcc
all: $(OBJS)
$(Q)$(CC) $(LDFLAGS) -o $(EXE) $(OBJS) $(LIBS)
@$(E) " LD " $(EXE)
%.o: %.c
$(Q)$(CC) $(CFLAGS) -c -o $@ $<
@$(E) " CC " $@
clean:
$(Q)rm -rf $(CLEAN_FILE)
@echo "rm *.o *~ $(EXE)"
一个通用的makefile的更多相关文章
- 编写一个通用的Makefile文件
1.1在这之前,我们需要了解程序的编译过程 a.预处理:检查语法错误,展开宏,包含头文件等 b.编译:*.c-->*.S c.汇编:*.S-->*.o d.链接:.o +库文件=*.exe ...
- Linux C编程学习之开发工具3---多文件项目管理、Makefile、一个通用的Makefile
GNU Make简介 大型项目的开发过程中,往往会划分出若干个功能模块,这样可以保证软件的易维护性. 作为项目的组成部分,各个模块不可避免的存在各种联系,如果其中某个模块发生改动,那么其他的模块需要相 ...
- 一个通用的Makefile (转)
据http://bbs.chinaunix.net/thread-2300778-1-1.html的讨论,发现还是有很多人在问通用Makefile的问题,这里做一个总结.也作为以后的参考. ...
- 一步一步写一个简单通用的makefile(四)--写一个通用的makefile编译android可执行文件
通常要把我们自己的的代码编译成在android里面编译的可执行文件,我们通常是建一个文件夹 . ├── Android.mk ├── Application.mk ├── convolve.cl ├─ ...
- 一个通用的Makefile(二)
1.各级子目录的Makefile: obj-y += file.o obj-y += subdir/ “obj-y += file.o” 表示把当前目录下的file.c编进程序里. “obj-y += ...
- 一个通用的makefile(一)
最近在编写Android编译系统时,需要遍历每一个目录下每一个文件夹下的makefile,网上的方法有些繁琐 :就直接贴上自己遍历子目录深度为1:(for temporary)(之后会继续更新) 下 ...
- 一个通用的Makefile框架
先做一个简单的记录,后续有时间再慢慢完善补充细节. 先上一个整体图片: 其中,最重要的文件就是:program_template.mk. 下面是program_template.mk最重要的内容: $ ...
- 14、编写一个通用的Makefile
编译test_Makefile的方法:a. gcc -o test a.c b.c对于a.c: 预处理.编译(C文件转换成汇编).汇编(汇编转换成机器码)对于b.c:预处理.编译.汇编最后链接优点:命 ...
- 我所使用的一个通用的Makefile模板
话不多说,请看: 我的项目有的目录结构有: dirls/ ├── include │ └── apue.h ├── lib │ ├── error.c │ ├── error.o │ ...
随机推荐
- angular学习笔记,很乱哈哈。
1.鼠标悬浮出现的信息v-bind:title="message" 2.对该便签进行结果判断显示隐藏v-if=''控制台设置 app3.seen = false(消失).控制台设置 ...
- 网络存储技术介绍(1) ( based on zt)
最近由于某同学微信发了一些网络存储的文章,开始感兴趣,稍微收集了一些 一. 网络存储技术 http://ask.zol.com.cn/q/187044.html (yxr:很老的技术介绍吧) 网络 ...
- 28、跟我来一起精通echarts吧
1.折线图 option = { title : { text: '未来一周气温变化', subtext: '纯属虚构' }, tooltip : { trigger: 'axis' }, legen ...
- 关于new/delete、malloc/free的内存泄漏检测
情况一 new/delete 内存泄漏 1.在MFC中可以每一个cpp文件的头部添加以下一段宏来检测new申请而没用free释放的内存泄漏 #ifdef _DEBUG #define new DEBU ...
- android自定义进度圆与定时任务
先看代码:自定进度圆 public class ProgressCircle extends View { private Paint paint; private int strokewidth = ...
- JavaScript高级程序设计笔记之面向对象
说起面向对象,大部分程序员首先会想到 类 .通过类可以创建许多具有共同属性以及方法的实例或者说对象.但是JavaScript并没有类的概念,而且在JavaScript中几乎一切皆对象,问题来了,Jav ...
- Looping Techniques
[Looping Techniques] 1.When looping through dictionaries, the key and corresponding value can be ret ...
- sendEmail的使用
坑!坑!坑!今天又弄了一天如何发送邮件,首先用sendmail,postfix.....等,都试过了,各种报错,然后就从早上弄到现在,在群里问问题的时候,一位好心的大哥说了他用的是sendEmail, ...
- 也说面试 - 一个努力的iOS Dev
你们在金色的余晖中回家,而我却在银色的温柔中,匆匆潜行-----这是我的现状. 今年的招工形式不是很好,难找工作:也难招人.写这篇博客,是为了给各位在找工作的iOS dev 一些参考. 上篇:换坑(去 ...
- PLSQL往表中插入中文乱码解决办法
1.查看服务器端编码:select userenv('language') from dual; 2.查看第一行中PARAMETER项中为NLS_LANGUAGE 对应的VALUE项中是否和第一步得到 ...