1 2SRCROOT = . 3SYMROOT = . 4OBJROOT = . 5 6PAX = /bin/pax -rw 7MKDIR = /bin/mkdir -p 8CHMOD = /bin/chmod 9 10ifeq (,$(RC_ARCHS)) 11 # build for the local arch only 12 ARCH_CFLAGS = 13else 14 # assume the toolchain supports static compilation for all request archs 15 ARCH_CFLAGS = $(patsubst %,-arch %,$(RC_ARCHS)) 16endif 17 18SDK_DIR = $(shell xcodebuild -version -sdk "$(SDKROOT)" Path) 19STRIP = $(shell xcodebuild -sdk "$(SDKROOT)" -find strip) 20CC = $(shell xcodebuild -sdk "$(SDKROOT)" -find cc) 21 22ifeq (,$(RC_PURPLE)) 23 INSTALL_TARGET = install-MacOSX 24else 25 INSTALL_TARGET = install-iPhoneOS 26endif 27 28USRLIBDIR = /usr/lib 29DSTDIRS = $(DSTROOT)$(USRLIBDIR) 30 31INSTALLSRC_FILES = Makefile stub.c reexports.exp 32 33# default target for development builds 34all: $(OBJROOT)/libgcc_s.dylib 35 36$(OBJROOT)/libgcc_s.dylib : $(SRCROOT)/stub.c 37 $(CC) $(ARCH_CFLAGS) $^ -dynamiclib -install_name /usr/lib/libgcc_s.1.dylib \ 38 -compatibility_version 1 -current_version ${RC_ProjectBuildVersion} \ 39 -nostdlib -o $(OBJROOT)/libgcc_s.dylib.full 40 $(STRIP) -c -x $(OBJROOT)/libgcc_s.dylib.full -o $@ 41 42 43clean: 44 rm -f $(OBJROOT)/libgcc_s.dylib.full $(OBJROOT)/libgcc_s.dylib 45 46install: $(INSTALL_TARGET) 47 48 49installhdrs: 50 51installsrc: 52 $(MKDIR) $(SRCROOT) 53 $(CHMOD) 755 $(SRCROOT) 54 $(PAX) $(INSTALLSRC_FILES) $(SRCROOT) 55 $(CHMOD) 444 $(SRCROOT)/* 56 57 58install-MacOSX: $(OBJROOT)/libgcc_s.dylib 59 mkdir -p $(DSTROOT)/usr/lib 60 cp $(OBJROOT)/libgcc_s.dylib $(DSTROOT)/usr/lib/libgcc_s.10.5.dylib 61 cd $(DSTROOT)/usr/lib; \ 62 ln -s libgcc_s.10.5.dylib libgcc_s.10.4.dylib; \ 63 ln -s libSystem.B.dylib libgcc_s.1.dylib; \ 64 65 66install-iPhoneOS : $(SYMROOT)/libgcc_s.1.dylib 67 mkdir -p $(DSTROOT)/usr/lib 68 $(STRIP) -S $(SYMROOT)/libgcc_s.1.dylib -o $(DSTROOT)/usr/lib/libgcc_s.1.dylib 69 70$(SYMROOT)/libgcc_s.1.dylib : $(SRCROOT)/reexports.exp 71 $(CC) $(ARCH_CFLAGS) -dynamiclib -install_name /usr/lib/libgcc_s.1.dylib \ 72 -compatibility_version 1 -current_version ${RC_ProjectSourceVersion} \ 73 -Wl,-reexported_symbols_list,$(SRCROOT)/reexports.exp \ 74 -nostdlib -o $@ -Wl,-upward-lSystem -isysroot $(SDK_DIR) 75 76 77 78