📄 ubuild
字号:
#!/bin/sh################################################################### ## Mac OS X Universal Binary build script ## (tuned for ppc, x86 builders see comments in linking) ## ####################################################################---------------------------------------------## pseudo-configure ##---------------------------------------------#rm -rf obj_files/*mkdir -p obj_files/ppcmkdir -p obj_files/386OS=`uname -s | cut -d '_' -f1`if (test $OS = Darwin) || (test $OS = Linux) ; then EXTRA_CPP_FLAGS="-DDARWIN_PLATFORM"fiecho "Building Universal Binary"#---------------------------------------------## Compiling ##---------------------------------------------#echo "Compiling AP_commons.cpp ..."g++ -arch i386 -g -O2 -Wall -MT obj_files/386/AP_commons.o -MD -MP -MF "./obj_files/386/AP_commons.Tpo" -c -o obj_files/386/AP_commons.o AP_commons.cppg++ -arch ppc -g -O2 -Wall -MT obj_files/ppc/AP_commons.o -MD -MP -MF "./obj_files/ppc/AP_commons.Tpo" -c -o obj_files/ppc/AP_commons.o AP_commons.cpp#--------------------------------#echo "Compiling AtomicParsley_genres.cpp ..."g++ -arch i386 -g -O2 -Wall -MT obj_files/386/AtomicParsley_genres.o -MD -MP -MF "./obj_files/386/AtomicParsley_genres.Tpo" -c -o obj_files/386/AtomicParsley_genres.o AtomicParsley_genres.cppg++ -arch ppc -g -O2 -Wall -MT obj_files/ppc/AtomicParsley_genres.o -MD -MP -MF "./obj_files/ppc/AtomicParsley_genres.Tpo" -c -o obj_files/ppc/AtomicParsley_genres.o AtomicParsley_genres.cpp#--------------------------------#echo "Compiling AP_iconv.cpp ..."g++ -arch i386 -g -O2 -Wall $EXTRA_CPP_FLAGS -MT AP_iconv.o -MD -MP -MF "./obj_files/386/AP_iconv.Tpo" -c -o obj_files/386/AP_iconv.o AP_iconv.cppg++ -arch ppc -g -O2 -Wall $EXTRA_CPP_FLAGS -MT AP_iconv.o -MD -MP -MF "./obj_files/ppc/AP_iconv.Tpo" -c -o obj_files/ppc/AP_iconv.o AP_iconv.cpp#--------------------------------#echo "Compiling AP_NSFile_utils.mm ..."g++ -arch i386 -g -O2 -Wall -MT obj_files/386/AP_NSFile_utils.o -MD -MP -MF "./obj_files/386/AP_NSFile_utils.Tpo" -c -o obj_files/386/AP_NSFile_utils.o AP_NSFile_utils.mmg++ -arch ppc -g -O2 -Wall -MT obj_files/ppc/AP_NSFile_utils.o -MD -MP -MF "./obj_files/ppc/AP_NSFile_utils.Tpo" -c -o obj_files/ppc/AP_NSFile_utils.o AP_NSFile_utils.mm#--------------------------------#echo "Compiling AP_NSImage.mm ..."g++ -arch i386 -g -O2 -Wall -MT obj_files/386/AP_NSImage.o -MD -MP -MF "./obj_files/386/AP_NSImage.Tpo" -c -o obj_files/386/AP_NSImage.o AP_NSImage.mmg++ -arch ppc -g -O2 -Wall -MT obj_files/ppc/AP_NSImage.o -MD -MP -MF "./obj_files/ppc/AP_NSImage.Tpo" -c -o obj_files/ppc/AP_NSImage.o AP_NSImage.mm#--------------------------------#echo "Compiling AtomicParsley.cpp ..."g++ -arch i386 -g -O2 -Wall -Wno-unused $EXTRA_CPP_FLAGS -MT obj_files/386/AtomicParsley.o -MD -MP -MF "./obj_files/386/AtomicParsley.Tpo" -c -o obj_files/386/AtomicParsley.o AtomicParsley.cppg++ -arch ppc -g -O2 -Wall -Wno-unused $EXTRA_CPP_FLAGS -MT obj_files/ppc/AtomicParsley.o -MD -MP -MF "./obj_files/ppc/AtomicParsley.Tpo" -c -o obj_files/ppc/AtomicParsley.o AtomicParsley.cpp#--------------------------------#echo "Compiling AP_AtomExtracts.cpp ..."g++ -arch i386 -g -O2 -Wall $EXTRA_CPP_FLAGS -MT obj_files/386/AP_AtomExtracts.o -MD -MP -MF "./obj_files/386/AP_AtomExtracts.Tpo" -c -o obj_files/386/AP_AtomExtracts.o AP_AtomExtracts.cppg++ -arch ppc -g -O2 -Wall $EXTRA_CPP_FLAGS -MT obj_files/ppc/AP_AtomExtracts.o -MD -MP -MF "./obj_files/ppc/AP_AtomExtracts.Tpo" -c -o obj_files/ppc/AP_AtomExtracts.o AP_AtomExtracts.cpp#--------------------------------#echo "Compiling APar_sha1.cpp ..."g++ -arch i386 -g -O2 -Wall $EXTRA_CPP_FLAGS -MT obj_files/386/APar_sha1.o -MD -MP -MF "./obj_files/386/APar_sha1.Tpo" -c -o obj_files/386/APar_sha1.o APar_sha1.cppg++ -arch ppc -g -O2 -Wall $EXTRA_CPP_FLAGS -MT obj_files/ppc/APar_sha1.o -MD -MP -MF "./obj_files/ppc/APar_sha1.Tpo" -c -o obj_files/ppc/APar_sha1.o APar_sha1.cpp#--------------------------------#echo "Compiling APar_uuid.cpp ..."g++ -arch i386 -g -O2 -Wall $EXTRA_CPP_FLAGS -MT obj_files/386/APar_uuid.o -MD -MP -MF "./obj_files/386/APar_uuid.Tpo" -c -o obj_files/386/APar_uuid.o APar_uuid.cppg++ -arch ppc -g -O2 -Wall $EXTRA_CPP_FLAGS -MT obj_files/ppc/APar_uuid.o -MD -MP -MF "./obj_files/ppc/APar_uuid.Tpo" -c -o obj_files/ppc/APar_uuid.o APar_uuid.cpp#--------------------------------#echo "Compiling main.cpp ..."g++ -arch i386 -g -O2 -Wall $EXTRA_CPP_FLAGS -I../AtomicParsley -MT obj_files/386/main.o -MD -MP -MF "./obj_files/386/main.Tpo" -c -o obj_files/386/main.o main.cppg++ -arch ppc -g -O2 -Wall $EXTRA_CPP_FLAGS -I../AtomicParsley -MT obj_files/ppc/main.o -MD -MP -MF "./obj_files/ppc/main.Tpo" -c -o obj_files/ppc/main.o main.cpp#---------------------------------------------## Linking ##---------------------------------------------#echo "Linking AtomicParsley..."############## THIS SECTION IS **PROBABLY** PLATFORM SPECIFIC ################## Because compiles on ppc needs an Intel UniversalSDK, the -isysroot ## flag below is for the '-arch i386' cross-compile. If you were to build ## a universal binary on Intel, the -isysroot /Dev/SDK combo would ## need to be moved onto the '-arch ppc' line to create the binary ################################################################################g++ -arch i386 -g -O2 -Wall -framework Cocoa -isysroot /Developer/SDKs/MacOSX10.4u.sdk -o AtomicParsley_386 obj_files/386/APar_sha1.o obj_files/386/APar_uuid.o obj_files/386/AP_commons.o obj_files/386/AtomicParsley_genres.o obj_files/386/AP_iconv.o obj_files/386/AP_NSFile_utils.o obj_files/386/AP_NSImage.o obj_files/386/AP_AtomExtracts.o obj_files/386/AtomicParsley.o obj_files/386/main.og++ -arch ppc -g -O2 -Wall -framework Cocoa -o AtomicParsley_ppc obj_files/ppc/APar_sha1.o obj_files/ppc/APar_uuid.o obj_files/ppc/AP_commons.o obj_files/ppc/AtomicParsley_genres.o obj_files/ppc/AP_iconv.o obj_files/ppc/AP_NSFile_utils.o obj_files/ppc/AP_NSImage.o obj_files/ppc/AP_AtomExtracts.o obj_files/ppc/AtomicParsley.o obj_files/ppc/main.o#---------------------------------------------## Stripping (enabled on Mac OS X only) ##---------------------------------------------#echo "Stripping & lipo joining for multiple architectures..."strip AtomicParsley_ppcstrip AtomicParsley_386lipo -arch ppc AtomicParsley_ppc -arch i386 AtomicParsley_386 -create -output AtomicParsley
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -