123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
Makefile: Select allPREFIX = arm-apple-darwin9-CC = $(PREFIX)gccCXX = $(PREFIX)g++LD = $(CC)AR = $(PREFIX)arSTRIP = $(PREFIX)stripOBJCOPY = $(PREFIX)objcopyDEBUG ?= nDEVEL ?= nSDKVER = 3.1.2IPHONE_IP = 10.0.2.2IPHONESDK = /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS$(SDKVER).sdkINCPATH += -I"$(IPHONESDK)/usr/include"INCPATH += -I"/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib/gcc/arm-apple-darwin9/4.2/include/"INCPATH += -I"/Developer/Platforms/iPhoneOS.platform/Developer/usr/include/"INCPATH += -I"/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator$(SDKVER).sdk/usr/include"LDFLAGS= -lobjc \ -bind_at_load \ -multiply_defined suppress \ -wLDFLAGS += -framework CoreFoundationLDFLAGS += -framework FoundationLDFLAGS += -framework UIKitLDFLAGS += -framework CoreGraphicsLDFLAGS += -F"$(IPHONESDK)/System/Library/Frameworks"LDFLAGS += -F"$(IPHONESDK)/System/Library/PrivateFrameworks"CFLAGS += $(INCPATH) \ -std=c99 \ -W -Wall \ -funroll-loops \ -Diphoneos_version_min=2.0 \ -Wno-unused-parameter \ -Wno-sign-compareifeq ($(DEBUG), y)CFLAGS += -O0 -g -DDEBUG_MUTEXelseCFLAGS += -O3 -DNDEBUGifeq ($(DEVEL), y)CFLAGS += -gendifendifCFLAGS += -F"$(IPHONESDK)/System/Library/Frameworks"CFLAGS += -F"$(IPHONESDK)/System/Library/PrivateFrameworks"BUILDDIR =./build/3.0SRCDIR =./ClassesRESDIR =./ResourcesOBJS = $(patsubst %.m,%.o,$(wildcard $(SRCDIR)/*.m))OBJS += $(patsubst %.m,%.o,$(wildcard ./*.m))OBJS += $(patsubst %.c,%.o,$(wildcard $(SRCDIR)/*.c))OBJS += $(patsubst %.cpp,%.o,$(wildcard $(SRCDIR)/*.cpp))NIBS = $(patsubst %.xib,%.nib,$(wildcard *.xib))RESOURCES= $(wildcard $(RESDIR)/*)APPFOLDER= $(TARGET).app.PHONY: allall: $(TARGET) bundle$(TARGET): $(OBJS) $(LD) $(LDFLAGS) -o $@ $^%.o: %.m $(CC) -c $(CFLAGS) $< -o $@%.o: %.c $(CC) -c $(CFLAGS) $< -o $@%.o: %.cpp $(CXX) -x objective-c++ $(CFLAGS) $< -o $@%.nib: %.xib ibtool $< --compile $@bundle: $(TARGET) @rm -rf $(BUILDDIR) @mkdir -p $(BUILDDIR)/$(APPFOLDER) @cp -r $(RESDIR)/* $(BUILDDIR)/$(APPFOLDER) @cp Info.plist $(BUILDDIR)/$(APPFOLDER)/Info.plist @echo "APPL" > $(BUILDDIR)/$(APPFOLDER)/PkgInfo mv $(NIBS) $(BUILDDIR)/$(APPFOLDER) @ldid -S $(TARGET) @mv $(TARGET) $(BUILDDIR)/$(APPFOLDER)/$(TARGET)_install: bundle @ssh root@$(IP) "cd /Applications/$(APPFOLDER) && rm -R * || echo 'not found' " @scp -rp $(BUILDDIR)/$(APPFOLDER) root@$(IP):/Applications @ssh root@$(IP) "cd /Applications/$(APPFOLDER) ; ldid -S $(TARGET)_; killall SpringBoard" @echo "Application $(APPFOLDER) installed"uninstall: ssh root@$(IPHONE_IP) 'rm -fr /Applications/$(APPFOLDER); respring' @echo "Application $(APPFOLDER) uninstalled, please respring iPhone"install_respring: scp respring_arm root@$(IPHONE_IP):/usr/bin/respring.PHONY: cleanclean: @rm -f $(OBJS) $(TARGET) @rm -rf $(BUILDDIR)