app makefile 模板

# Makefile for iPhone Application for Xcode gcc compiler (SDK Headers)

IPHONE_IP=192.168.1.115

DARWINVERSION=10
GCCVERSION=4.2.1
SDKVERSION=3.1
ENVP=IPHONEOS_DEPLOYMENT_TARGET=3.0

PROJECTNAME=iColorCall
APPFOLDER=$(PROJECTNAME).app
INSTALLFOLDER=$(PROJECTNAME).app

SDK=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS$(SDKVERSION).sdk

CC=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin$(DARWINVERSION)-gcc-$(GCCVERSION)
CPP=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin$(DARWINVERSION)-g++-$(GCCVERSION)
LD=$(CC)

LDFLAGS += -lobjc \
			-ObjC++ \
			-fobjc-exceptions \
			-march=armv6 \
			-mcpu=arm1176jzf-s \
			-fobjc-call-cxx-cdtors \
			-multiply_defined suppress \
			-framework CoreFoundation \
			-framework Foundation \
			-framework UIKit \
			-framework CoreGraphics \
			-framework AddressBookUI \
			-framework AddressBook \
			-framework QuartzCore \
			-framework OpenGLES \
			-framework CoreTelephony \
			-L"$(SDK)/usr/lib" \
			-F"$(SDK)/System/Library/Frameworks" \
			-F"$(SDK)/System/Library/PrivateFrameworks"


CFLAGS += -I"/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/gcc/arm-apple-darwin$(DARWINVERSION)/(GCCVERSION)/include/" \
			-I"$(SDK)/usr/include" \
			-I"/Developer/Platforms/iPhoneOS.platform/Developer/usr/include/" \
			-F"$(SDK)/System/Library/Frameworks" \
			-F"$(SDK)/System/Library/PrivateFrameworks" \
			-I./Classes \
			-I./Classes/Glgif \
			-I./Classes/Engine \
			-march=armv6 \
			-mcpu=arm1176jzf-s \
			-DDEBUG -std=c99 \
			-Diphoneos_version_min=3.0 \
			-DTARGET_OS_IPHONE \
			-DSP3 \
			-DLOG_APP_DEBUG_ENABLE \
			-DHEX_OUT_ENABLE
			#-DWINKS_LONG_SOCKET
			#-DWINKS_SOCKET_WRITE_CATCH
			#-DIPHONE_GIF_PREVIEW_TEST
			#-DTEST_STATIC_IMG_PREVIEW

CPPFLAGS=$CFLAGS

BUILDDIR=./build/$(SDKVERSION)
SRCDIR=./Classes
SRCDIR2=./Classes/Engine
SRCDIR3=./Classes/Glgif
RESDIR=./Resources

OBJS=$(patsubst %.m,%.o,$(wildcard $(SRCDIR2)/*.m)) \
	$(patsubst %.c,%.o,$(wildcard $(SRCDIR2)/*.c)) \
	$(patsubst %.cpp,%.o,$(wildcard $(SRCDIR2)/*.cpp)) \
	$(patsubst %.m,%.o,$(wildcard $(SRCDIR)/*.m)) \
	$(patsubst %.c,%.o,$(wildcard $(SRCDIR)/*.c)) \
	$(patsubst %.cpp,%.o,$(wildcard $(SRCDIR)/*.cpp)) \
	$(patsubst %.mm,%.o,$(wildcard $(SRCDIR)/*.mm)) \
	$(patsubst %.m,%.o,$(wildcard $(SRCDIR3)/*.m)) \
	$(patsubst %.c,%.o,$(wildcard $(SRCDIR3)/*.c)) \
	$(patsubst %.cpp,%.o,$(wildcard $(SRCDIR3)/*.cpp)) \
	$(patsubst %.m,%.o,$(wildcard *.m))

PCH=$(wildcard *.pch)
RESOURCES=$(wildcard $(RESDIR)/*)
NIBS=$(patsubst %.xib,%.nib,$(wildcard *.xib))

all:	dist

$(PROJECTNAME):	$(OBJS)
	$(LD) $(LDFLAGS) -o $@ $^ 

%.o:	%.m
	$(ENVP) $(CC) -c $(CFLAGS) $< -o $@

%.o:	%.c
	$(ENVP) $(CC) -c $(CFLAGS) $< -o $@

%.o:	%.cpp
	$(ENVP) $(CPP) -c $(CPPFLAGS) $< -o $@

%.o:	%.mm
	$(ENVP) $(CC) -c $(CFLAGS) $< -o $@

%.nib:	%.xib
	ibtool $< --compile $@

dist:	$(PROJECTNAME) $(NIBS)
	rm -rf $(BUILDDIR)
	mkdir -p $(BUILDDIR)/$(APPFOLDER)
	cp -r $(RESOURCES) $(BUILDDIR)/$(APPFOLDER)
	cp Info.plist $(BUILDDIR)/$(APPFOLDER)/Info.plist
	@echo "APPL????" > $(BUILDDIR)/$(APPFOLDER)/PkgInfo
	cp -r English.lproj $(BUILDDIR)/$(APPFOLDER)/English.lproj/
	cp -r zh_CN.lproj $(BUILDDIR)/$(APPFOLDER)/zh_CN.lproj/
	cp -r zh_HK.lproj $(BUILDDIR)/$(APPFOLDER)/zh_HK.lproj/
	rm -rf $(BUILDDIR)/$(APPFOLDER)/English.lproj/.svn
	rm -rf $(BUILDDIR)/$(APPFOLDER)/zh_CN.lproj/.svn
	rm -rf $(BUILDDIR)/$(APPFOLDER)/zh_HK.lproj/.svn
	mv $(NIBS) $(BUILDDIR)/$(APPFOLDER)
	export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate; ./ldid_intel -S $(PROJECTNAME)
	mv $(PROJECTNAME) $(BUILDDIR)/$(APPFOLDER)

installapp: uninstallapp
	#只上传程序不上传资源, 节省安装时间
	scp -r $(BUILDDIR)/$(APPFOLDER)/$(PROJECTNAME) root@$(IPHONE_IP):/Applications/$(INSTALLFOLDER)/$(PROJECTNAME)
	ssh root@$(IPHONE_IP) 'killall SpringBoard'

uninstallapp: 
	#只删除程序
	ssh root@$(IPHONE_IP) 'rm -fr /Applications/$(INSTALLFOLDER)/$(PROJECTNAME)'

install: uninstall	
	#ssh root@$(IPHONE_IP) 'rm -f /private/var/mobile/Library/Caches/com.apple.mobile.installation.plist'
	#上传程序及资源
	scp -r $(BUILDDIR)/$(APPFOLDER) root@$(IPHONE_IP):/Applications/$(INSTALLFOLDER)
	ssh root@$(IPHONE_IP) 'killall SpringBoard'

uninstall:	
	#删除程序及资源
	ssh root@$(IPHONE_IP) 'rm -fr /Applications/$(INSTALLFOLDER)'

install_respring:
	scp respring_arm root@$(IPHONE_IP):/usr/bin/respring

clean:
	@rm -f $(SRCDIR)/*.o *.o
	@rm -f $(SRCDIR2)/*.o *.o
	@rm -f $(SRCDIR3)/*.o *.o
	@rm -rf $(BUILDDIR)
	@rm -f $(PROJECTNAME)
	
log:
	scp root@$(IPHONE_IP):/var/mobile/appLog ~/Desktop/appLog/appLog

clearlog:
	ssh root@$(IPHONE_IP) 'rm -fr /var/mobile/appLog'

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值