+++ /dev/null
-NAME0 = libSystem
-NAME = $(NAME0).$(VersionLetter)
-
-.include <CoreOS/Standard/Commands.mk>
-.include <CoreOS/Standard/Variables.mk>
-
-# for now, use the default compiler
-MYCC := $(CC)
-.if $(RC_TARGET_CONFIG) == iPhone
-MYCCLIBS = -lgcc
-.endif
-RTLIBS =
-NARCHS != $(ECHO) $(RC_ARCHS) | $(WC) -w
-SLFS_F_PH = $(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders
-CODESIGN != xcrun -find codesign
-.ifdef SDKROOT
-SDKROOTCFLAGS = -isysroot '$(SDKROOT)'
-SDKROOTLDFLAGS = -Wl,-syslibroot,'$(SDKROOT)'
-.endif
-ORDERFILES = -Wl,-order_file,$(SRCROOT)/SystemInit.order -Wl,-order_file,$(PLATFORM_ORDER_FILE)
-
-.ifdef ALTUSRLOCALLIBSYSTEM
-LIBSYS = $(ALTUSRLOCALLIBSYSTEM)
-.else
-LIBSYS = $(SDKROOT)/usr/local/lib/system
-.endif
-.ifdef ALTUSRLIBSYSTEM
-LSYS = $(ALTUSRLIBSYSTEM)
-.else
-LSYS = $(SDKROOT)/usr/lib/system
-.endif
-
-ACTUALLIBS = $(SYMROOT)/actuallibs
-ALLLIBS = $(SYMROOT)/alllibs
-FROMUSRLIBSYSTEM = $(SYMROOT)/fromusrlibsystem
-FROMUSRLOCALLIBSYSTEM = $(SYMROOT)/fromusrlocallibsystem
-INUSRLIBSYSTEM = $(SYMROOT)/inusrlibsystem
-INUSRLOCALLIBSYSTEM = $(SYMROOT)/inusrlocallibsystem
-MISSINGLIBS = $(SYMROOT)/missinglibs
-OPTIONALLIBS = $(SRCROOT)/optionallibs
-POSSIBLEUSRLOCALLIBSYSTEM = $(SYMROOT)/possibleusrlocallibsystem
-REQUIREDLIBS = $(SRCROOT)/requiredlibs
-
-$(MISSINGLIBS):
- cat $(REQUIREDLIBS) $(OPTIONALLIBS) | sort > $(ALLLIBS)
- cd $(LSYS) && ls lib*.dylib | sed -E -e 's/^lib//' -e 's/\..*$$//' -e 's/_(debug|profile|static)$$//' | sort -u > $(INUSRLIBSYSTEM)
- cd $(LIBSYS) && ls lib*.a | sed -E -e 's/^lib//' -e 's/\..*$$//' -e 's/_(debug|profile|static)$$//' | sort -u > $(INUSRLOCALLIBSYSTEM)
- comm -12 $(ALLLIBS) $(INUSRLIBSYSTEM) > $(FROMUSRLIBSYSTEM)
- comm -12 $(ALLLIBS) $(INUSRLOCALLIBSYSTEM) > $(POSSIBLEUSRLOCALLIBSYSTEM)
- comm -13 $(FROMUSRLIBSYSTEM) $(POSSIBLEUSRLOCALLIBSYSTEM) > $(FROMUSRLOCALLIBSYSTEM)
- cat $(FROMUSRLIBSYSTEM) $(FROMUSRLOCALLIBSYSTEM) | sort > $(ACTUALLIBS)
- comm -23 $(REQUIREDLIBS) $(ACTUALLIBS) > $(MISSINGLIBS)
- @if [ -s $(MISSINGLIBS) ]; then \
- echo '*** missing required libs ***' && \
- cat $(MISSINGLIBS) && \
- exit 1; \
- fi ;
-
-# These variables are to guarantee that the left-hand side of an expression is
-# always a variable
-dynamic = dynamic
-
-all: build
-
-build: build-debug build-dynamic build-profile
-
-# These are the non B&I defaults
-.ifndef RC_ProjectName
-install: installhdrs install-all
-
-.else # RC_ProjectName
-
-.for F in $(FORMS)
-install: BI-install-$(F)
-.endfor # FORMS
-.endif # RC_ProjectName
-
-.for A in $(RC_ARCHS)
-OBJS-$(A) = $(OBJROOT)/$(A)/SystemMath.o $(OBJROOT)/$(A)/CompatibilityHacks.o $(OBJROOT)/$(A)/System_vers.o $(OBJROOT)/$(A)/init.o
-.endfor # RC_ARCHS
-
-.for F in $(FORMS)
-.if $(dynamic) == $(F)
-SUFFIX$(F) =
-.else
-SUFFIX$(F) = _$(F)
-.endif
-LIPOARGS$(F) != $(PERL) -e 'printf "%s\n", join(" ", map(qq(-arch $$_ \"$(OBJROOT)/$$_/$(F)/$(NAME)$(SUFFIX$(F)).dylib\"), qw($(RC_ARCHS))))'
-
-.for A in $(RC_ARCHS)
-build-$(F): build-$(A)-$(F)
-.endfor # RC_ARCHS
-build-$(F):
-.if $(NARCHS) == 1
- $(CP) "$(OBJROOT)/$(RC_ARCHS)/$(F)/$(NAME)$(SUFFIX$(F)).dylib" "$(SYMROOT)"
-.else
- $(LIPO) -create $(LIPOARGS$(F)) -output "$(SYMROOT)/$(NAME)$(SUFFIX$(F)).dylib"
-.endif
- $(DSYMUTIL) "$(SYMROOT)/$(NAME)$(SUFFIX$(F)).dylib"
-
-.for A in $(RC_ARCHS)
-# Hardcode libc.a for now. This will have to be changed when libc becomes
-# its own dylib.
-LINKDYLIB-$(F)-$(A) = $(MYCC) -dynamiclib -arch $(A) -pipe $(SDKROOTLDFLAGS) \
- -o '$(OBJROOT)/$(A)/$(F)/$(NAME)$(SUFFIX$(F)).dylib' \
- -compatibility_version 1 -current_version $(Version) \
- -install_name /usr/lib/$(NAME)$(SUFFIX$(F)).dylib \
- -nodefaultlibs -Wl,-search_paths_first \
- $(ORDERFILES) $(SKDROOTLDFLAGS) $(OBJS-$(A)) \
- -L$(LSYS) -L$(LIBSYS) $(LIBMATHCOMMON$(F)) \
- `sed 's/.*/-Wl,-reexport-l&/' $(FROMUSRLIBSYSTEM)` \
- `sed -e '/^c$$/d' -e 's|.*|-Wl,-force_load,$(LIBSYS)/lib&$(SUFFIX$(F)).a|' $(FROMUSRLOCALLIBSYSTEM)`
-
-build-$(A)-$(F): $(OBJROOT)/$(A)/$(F) $(OBJS-$(A)) $(MISSINGLIBS)
- @$(ECHO) '========================================='
- @$(ECHO) $(LINKDYLIB-$(F)-$(A)) $(RTLIBS) $(MYCCLIBS)
- @$(LINKDYLIB-$(F)-$(A)) $(RTLIBS) $(MYCCLIBS)
-
-$(OBJROOT)/$(A)/$(F):
- $(MKDIR) '$(.TARGET)'
-
-.endfor # RC_ARCHS
-.endfor # FORMS
-
-SEG1ADDR_i386 = 0xffff0000
-SEG1ADDR_ppc = 0xffff8000
-SEG1ADDR_ppc64 = 0xffffffffffff8000
-SEG1ADDR_x86_64 = 0x00007fffffe00000
-SEG1ADDR_arm = 0xffff8000
-
-CFLAGS = -g -Os -Wall -Werror -I'$(SLFS_F_PH)' -fno-common $(SDKROOTCFLAGS)
-
-$(OBJROOT)/System_vers.c:
- $(VERS_STRING) -c System | \
- $(SED) -e 's/SGS_VERS/SYSTEM_VERS_STRING/' -e 's/VERS_NUM/SYSTEM_VERS_NUM/' > $(.TARGET)
-
-.for A in $(RC_ARCHS)
-$(OBJROOT)/$(A)/SystemMath.o: $(SRCROOT)/SystemMath.s
- $(MYCC) -c -o '$(.TARGET)' -arch $(A) $(CFLAGS) '$(.ALLSRC)'
-
-$(OBJROOT)/$(A)/CompatibilityHacks.o: $(SRCROOT)/CompatibilityHacks.c
- $(MYCC) -c -o '$(.TARGET)' -arch $(A) $(CFLAGS) '$(.ALLSRC)'
-
-$(OBJROOT)/$(A)/System_vers.o: $(OBJROOT)/System_vers.c
- $(MYCC) -c -o '$(.TARGET)' -arch $(A) $(CFLAGS) '$(.ALLSRC)'
-
-$(OBJROOT)/$(A)/init.o: $(SRCROOT)/init.c
- $(MYCC) -c -o '$(.TARGET)' -arch $(A) $(CFLAGS) '$(.ALLSRC)'
-
-.endfor # RC_ARCHS
-
-installhdrs:
-
-.for F in $(FORMS)
-BI-install-$(F): build-$(F)
- $(MKDIR) "$(DSTROOT)/usr/lib"
- @$(ECHO) "===== Installing $(NAME)$(SUFFIX$(F)).dylib ====="
- $(INSTALL) "$(SYMROOT)/$(NAME)$(SUFFIX$(F)).dylib" "$(DSTROOT)/usr/lib"
- $(STRIP) -S "$(DSTROOT)/usr/lib/$(NAME)$(SUFFIX$(F)).dylib"
- $(CHMOD) a-w "$(DSTROOT)/usr/lib/$(NAME)$(SUFFIX$(F)).dylib"
- $(LN) -sf "$(NAME)$(SUFFIX$(F)).dylib" "$(DSTROOT)/usr/lib/$(NAME0)$(SUFFIX$(F)).dylib"
- $(CODESIGN) -s - "$(DSTROOT)/usr/lib/$(NAME)$(SUFFIX$(F)).dylib"
-.endfor # FORMS
-
-install-all: build
-.for F in $(FORMS)
-install-all: BI-install-$(F)
-.endfor # FORMS
-
-clean:
-.for A in $(RC_ARCHS)
- $(RMDIR) $(OBJROOT)/$(A)
-.endfor # RC_ARCHS