1## 2# Makefile for RubyCocoa 3## 4 5Project = RubyCocoa 6ProjectVersion = trunk 7FullProjectVersion = $(ProjectVersion) 8 9include $(MAKEFILEPATH)/CoreOS/ReleaseControl/Common.make 10 11OSV = $(DSTROOT)/usr/local/OpenSourceVersions 12OSL = $(DSTROOT)/usr/local/OpenSourceLicenses 13 14RUBYHOSTUSR = /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr 15RUBYUSR = $(DSTROOT)/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr 16DSTRUBYDIR = $(RUBYUSR)/lib/ruby 17 18RUN_TESTS = 0 19 20build:: 21 (cd $(SRCROOT)/$(Project) \ 22 && $(RUBYHOSTUSR)/bin/ruby install.rb config --sdkroot=$(SDKROOT) --prefix=$(RUBYUSR) --site-ruby=$(DSTRUBYDIR)/1.8 --so-dir=$(DSTRUBYDIR)/1.8/universal-darwin`uname -r | cut -d. -f1-2` --frameworks="$(DSTROOT)/System/Library/Frameworks" --xcode-extras="$(DSTROOT)/unmaintained_templates" --examples="$(DSTROOT)/Developer/Examples/Ruby" --documentation="$(DSTROOT)/Developer/Documentation" --gen-bridge-support=false --build-as-embeddable=false \ 23 && $(RUBYHOSTUSR)/bin/ruby install.rb setup \ 24 && (if [ $(RUN_TESTS)"" = "1" ]; then (cd tests && (DYLD_FRAMEWORK_PATH=../framework/build /usr/bin/ruby -I../lib -I../ext/rubycocoa testall.rb || exit 1)); fi) \ 25 && $(RUBYHOSTUSR)/bin/ruby install.rb install) 26 rm -rf $(DSTROOT)/unmaintained_templates 27 rm -rf $(DSTROOT)/Developer 28 find $(RUBYUSR)/lib -name "*.bundle" -exec cp '{}' $(SYMROOT) \; 29 cp $(DSTROOT)/System/Library/Frameworks/RubyCocoa.framework/RubyCocoa $(SYMROOT) 30 for f in $(SYMROOT)/*; do dsymutil $$f; done 31 $(STRIP) -x `find $(RUBYUSR)/lib -name "*.bundle"` 32 $(MKDIR) $(OSV) 33 $(INSTALL_FILE) $(SRCROOT)/$(Project).plist $(OSV)/$(Project).plist 34 $(MKDIR) $(OSL) 35 $(INSTALL_FILE) $(SRCROOT)/$(Project)/COPYING $(OSL)/$(Project).txt 36 37installhdrs:: 38 @echo Nothing to be done for installhdrs 39 40sync: 41 sync_out="RubyCocoa-trunk"; \ 42 rm -rf $$sync_out; \ 43 svn co --ignore-externals -q https://rubycocoa.svn.sourceforge.net/svnroot/rubycocoa/trunk/src $$sync_out; \ 44 (find $$sync_out -name ".svn" -exec rm -rf {} \; >& /dev/null || true); \ 45 (cd $$sync_out && rm -f misc/bridge-support-tiger.tar.gz misc/libruby.1.dylib-tiger.tar.gz); \ 46 rm -f $$sync_out.tgz; \ 47 tar -czf $$sync_out.tgz $$sync_out; \ 48 rm -rf $$sync_out; \ 49 echo "done" 50 51# Automatic Extract & Patch 52AEP_Project = $(Project) 53AEP_Version = $(FullProjectVersion) 54AEP_ProjVers = $(AEP_Project)-$(AEP_Version) 55AEP_Filename = $(AEP_ProjVers).tgz 56AEP_ExtractDir = $(AEP_ProjVers) 57AEP_Patches = fix_install.rb.diff fix_ext_rubycocoa_extconf.rb.diff disable_threading_hacks.diff fix_metaconfig.diff 58 59# Extract the source. 60install_source:: 61 $(TAR) -C $(SRCROOT) -zxf $(SRCROOT)/$(AEP_Filename) 62 $(RMDIR) $(SRCROOT)/$(Project) 63 $(MV) $(SRCROOT)/$(AEP_ExtractDir) $(SRCROOT)/$(Project) 64 for patchfile in $(AEP_Patches); do \ 65 echo $$patchfile; \ 66 patch -d $(SRCROOT)/$(Project) -p0 < $(SRCROOT)/patches/$$patchfile || exit 1; \ 67 done 68 sed -i -e 's:-I/usr/include/:-I$(SDKROOT)/usr/include/:' $(SRCROOT)/$(Project)/pre-config.rb 69