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