#LDFLAGS += -framework WebCore #LDFLAGS += -framework WebKit #LDFLAGS += -framework SystemConfiguration #LDFLAGS += -framework CFNetwork #LDFLAGS += -framework MediaPlayer #LDFLAGS += -framework OpenGLES #LDFLAGS += -framework OpenAL LDFLAGS += -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-compare ifeq ($(DEBUG), y) CFLAGS += -O0 -g -DDEBUG_MUTEX else CFLAGS += -O3 -DNDEBUG ifeq ($(DEVEL), y) CFLAGS += -g endif endif CFLAGS += -F"$(IPHONESDK)/System/Library/Frameworks" CFLAGS += -F"$(IPHONESDK)/System/Library/PrivateFrameworks" #################################################################################### BUILDDIR =./build/3.0 SRCDIR =./Classes RESDIR =./Resources ###///////////////////////////////////////////////////////////// ### Source files ###///////////////////////////////////////////////////////////// OBJS = $(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: all all: $(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) # export CODESIGN_ALLOCATE=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate @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: clean clean: @rm -f $(OBJS) $(TARGET) @rm -rf $(BUILDDIR) 然后执行下面的make命令,我们就可以直接在 iPhone 上测试我们的程序了。 make install_respring make make install |