一个开发苹果系统软件常用得makefile,感谢强哥

原创 2013年12月04日 19:51:51
SRCROOT=../src/gp


TOASMC=/usr/local bexec/gcc/arm-apple-darwin/4.0.1/cc1obj.exe
TOASMCPP=/usr/local bexec/gcc/arm-apple-darwin/4.0.1/cc1plus.exe
ASM=arm-apple-darwin-as
LD=arm-apple-darwin-g++

INCLUDE_PATH=$(shell find $(SRCROOT) -type d) ../src
INCLUDE=$(addprefix -I ,$(INCLUDE_PATH))

TOASMFLAGS=-quiet -fPIC -mmacosx-version-min=10.4 -mfpu=vfp -mcpu=arm1176jzf-s \
-D__private_extern__=extern -fsigned-char -DWIN32 -DIPHONE -fasm-blocks \
-fpermissive $(INCLUDE)
ASMFLAGS=-arch arm -force_cpusubtype_ALL
LDFLAGS=-lobjc -framework CoreFoundation -framework Foundation -framework UIKit \
-framework LayerKit -framework CoreGraphics -framework GraphicsServices \
-framework CoreSurface -framework CoreAudio -larmfp -L/usr/local b


SRC_FILE=$(shell find $(SRCROOT) -name '*.cpp') $(shell find $(SRCROOT) -name '*.mm')
GAME_OBJS=$(patsubst %.mm,%.o,$(patsubst %.cpp,%.oo,$(SRC_FILE)))
###patsubst 参考http://hi.baidu.com/apollo_hj/item/d676661a4cd2737e7b5f2518

all:    ALL_GAME


ALL_GAME:  $(GAME_OBJS)
$(LD) $(LDFLAGS) -v -o $@ $^
find $(SRCROOT) -name '*.o' | xargs rm -fr
find $(SRCROOT) -name '*.oo' | xargs rm -fr
find $(SRCROOT) -name '*.s' | xargs rm -fr
find $(SRCROOT) -name '*.ss' | xargs rm -fr

# ###$@表示目标,$^表示依赖列表

%.o: %.s
$(ASM) $(ASMFLAGS) -o $@ $<

%.oo: %.ss
$(ASM) $(ASMFLAGS) -o $@ $<


%.ss: %.cpp
$(TOASMCPP) $(TOASMFLAGS) -o $@$<


%.s: %.mm
$(TOASMC) $(TOASMFLAGS) -o $@ $<


clean:
find $(SRCROOT) -name '*.o' | xargs rm -fr
find $(SRCROOT) -name '*.oo' | xargs rm -fr
find $(SRCROOT) -name '*.s' | xargs rm -fr
find $(SRCROOT) -name '*.ss' | xargs rm -fr
rm -fr ALL_GAME 

常用得表单正则表达式

区号+座机号码+分机号码:regexp="^(0[0-9]{2,3}/-)?([2-9][0-9]{6,7})+(/-[0-9]{1,4})?$" 手机(中国移动手机号码):regexp="^(...
  • Servenity
  • Servenity
  • 2016年12月07日 14:08
  • 726

常用得正则表达式案例

1 NSString * regex        = @"(^[A-Za-z0-9]{6,15}$)";  2 NSPredicate * ...
  • TPphy
  • TPphy
  • 2014年07月04日 15:15
  • 547

JDK中常用包及其类和功能详细剖析

JDK所提供的所有标准Java类都存放在Java包中,如java.lang包中包含了运行Java必不可少的系统类。由于系统会自动将java.lang引入,所以不需要在源文件中用import语句来显示地...
  • u011915230
  • u011915230
  • 2016年11月10日 10:49
  • 2078

公益活动-感谢你们

博主们,文字有点多,各位耐心看。   之前有一位用户发了一个帖子:《上肢残疾 当程序员》    楼主发出了他的疑问:“当一个人他没了一只右手,但他想学习编程,想在这个行业工作,那么可行么?” 接下...
  • blogdevteam
  • blogdevteam
  • 2015年07月14日 17:45
  • 20496

黑马程序员:为苹果与iOS开发者的前景正名

据不完全局部统计,近期iOS开发爱好者的热点仍然是:“iOS 开发行业前景不明朗。”因而有一部分初级开发者和业外人士,觉得这是苹果公司的锅!接下来笔者将带着大家慢慢分析,看看到底苹果公司与iOS开发者...
  • itcast_cn
  • itcast_cn
  • 2016年06月06日 16:19
  • 694

动态规划常见题目汇总

动态规划(Dynamic Programming,简称DP),虽然抽象后进行求解的思路并不复杂,但具体的形式千差万别,找出问题的子结构以及通过子结构重新构造最优解的过程很难统一,并不像回溯法具有解决绝...
  • f2006116
  • f2006116
  • 2016年04月24日 09:41
  • 370

多人共用一个苹果开发者证书

当多人开发时,如果已经申请了几个开发者证书和发布者证书,苹果就不允许再创建了,页面添加的地方被灰化了,所以不可能每个人都建一个开发证书,这时候需要共用一个证书了。(其实一般在我们的证书界面中应该只有一...
  • lijuan3203
  • lijuan3203
  • 2016年08月04日 17:08
  • 1429

Makefile文件简单示例一:测试验证小程序的管理

在开发过程中,总是会偶尔遇到一些小问题不太确定,一般都是通过编写一个简单的小程序来测试验证这些小问题的答案,解除疑惑,也比理论答案更让人放心。只是随着时间积累,验证小程序数量越来越多,每次在shell...
  • imxiangzi
  • imxiangzi
  • 2015年10月05日 21:35
  • 708

STM32高级开发(6)-makefile与调试器驱动

上一篇我们介绍了整套开发环境中的最重要的一环 :编译工具链。而在这篇中我们会介绍与其配合使用的makefile与调试器驱动,将这些工具结合,我们所需要的开发环境就简单的搭建完成了。最激动人心的:在这篇...
  • zhengyangliu123
  • zhengyangliu123
  • 2017年01月30日 21:20
  • 1803

Makefile 实际用例分析(一) ------- 比较通用的一种架构

这里不再说Makefile的基本知识,如果需要学习,那么请参考: 下载:makefile 中文手册 或者 点击打开链接 或者 跟我一起写Makefile( 陈皓 ) 这里说的是一般的实际的一个工...
  • shanshanpt
  • shanshanpt
  • 2013年12月08日 12:20
  • 5468
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:一个开发苹果系统软件常用得makefile,感谢强哥
举报原因:
原因补充:

(最多只允许输入30个字)