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 18 19USRLIBDIR = /usr/lib 20DSTDIRS = $(DSTROOT)$(USRLIBDIR) 21 22INSTALLSRC_FILES = Makefile stub.c 23 24# default target for development builds 25all: $(OBJROOT)/libgcc_s.dylib 26 27$(OBJROOT)/libgcc_s.dylib : $(SRCROOT)/stub.c 28 $(CC) $(ARCH_CFLAGS) $^ -dynamiclib -install_name /usr/lib/libgcc_s.1.dylib \ 29 -compatibility_version 1 -current_version ${RC_ProjectBuildVersion} \ 30 -nostdlib -o $(OBJROOT)/libgcc_s.dylib.full 31 strip -c -x $(OBJROOT)/libgcc_s.dylib.full -o $@ 32 33 34clean: 35 rm -f $(OBJROOT)/libgcc_s.dylib.full $(OBJROOT)/libgcc_s.dylib 36 37 38install: $(OBJROOT)/libgcc_s.dylib 39 mkdir -p $(DSTROOT)/usr/lib 40 cp $(OBJROOT)/libgcc_s.dylib $(DSTROOT)/usr/lib/libgcc_s.10.5.dylib 41 cd $(DSTROOT)/usr/lib; \ 42 ln -s libgcc_s.10.5.dylib libgcc_s.10.4.dylib; \ 43 ln -s libSystem.B.dylib libgcc_s.1.dylib; \ 44 45 46installhdrs: 47 48installsrc: 49 $(MKDIR) $(SRCROOT) 50 $(CHMOD) 755 $(SRCROOT) 51 $(PAX) $(INSTALLSRC_FILES) $(SRCROOT) 52 $(CHMOD) 444 $(SRCROOT)/* 53 54