# 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'