]> git.saurik.com Git - apple/libsystem.git/blobdiff - Makefile.postamble
Libsystem-88.1.3.tar.gz
[apple/libsystem.git] / Makefile.postamble
index 905a74be1117bb671794b18e49d90a3176ad326f..4a3ef50656644bf458c14ddd2e8605a2e131c54d 100644 (file)
@@ -1,14 +1,19 @@
 include $(CoreOSMakefiles)/ProjectBuilder/Makefile.Postamble.Common
 
+CC = $(GCC) # override
+# gcc-3.5 doesn't support -precomp-trustfile (3689986), which
+# pb_makefiles/flags.make sets, so we overwrite PRECOMP_CFLAGS
+PRECOMP_CFLAGS =
+
 ifeq "$(BUILD_TYPE)" "normal"
-LIBS += -lcc_noc++
+LIBS += $(GCCLIBS)
 else
 LIBS = 
 endif
 
 LIBS := $(foreach LIB,                                                 \
                  $(filter $(BSD_LIBS), $(subst -l,,$(LIBS))),          \
-                 $(NEXT_ROOT)/usr/local/lib/system/lib$(LIB).a)        \
+                 $(LIBSYS)/lib$(LIB).a)        \
        $(filter-out $(addprefix -l, $(BSD_LIBS)), $(LIBS))
 
 # pb_makefiles erroneously omits $(BUILD_TYPE_SUFFIX) from the install name
@@ -49,3 +54,24 @@ copy_plist:
        $(RM) -f $(DSTROOT)$(SystemFramework)/$(VersionDir)/Resources/Info.plist
        $(CP) $(SRCROOT)/Info.plist $(DSTROOT)$(SystemFramework)/$(VersionDir)/Resources
        $(CHMOD) 444 $(DSTROOT)$(SystemFramework)/$(VersionDir)/Resources/Info.plist
+
+.PHONY: comm-page-symbols
+comm-page-symbols: spinlock_stub.o spinlocktry_stub.o spinunlock_stub.o CommPageSymbols.o
+
+.SUFFIXES: .st
+
+SEG1ADDR_i386 = 0xffff0000
+SEG1ADDR_ppc = 0xffff8000
+SEG1ADDR_ppc64 = 0xffffffffffff8000
+SLFS_F_PH = /System/Library/Frameworks/System.framework/PrivateHeaders
+
+$(OFILE_DIR)/%.ppc.o %.ppc.o $(OFILE_DIR)/%.ppc64.o %.ppc64.o $(OFILE_DIR)/%.i386.o %.i386.o: %.st
+       $(CC) -arch $(CURRENT_ARCH) -x assembler-with-cpp \
+           -I$(SLFS_F_PH)/$(CURRENT_ARCH) \
+           $(ALL_CFLAGS) -c -o $(OFILE_DIR)/commsym.$(CURRENT_ARCH).o $<
+       ld -arch $(CURRENT_ARCH) -r -seg1addr $(SEG1ADDR_$(CURRENT_ARCH)) \
+           $(OFILE_DIR)/commsym.$(CURRENT_ARCH).o -o $(OFILE_DIR)/$(notdir $@)
+
+#-------------------------------------------------------------------------
+
+LIBGCC = $(shell $(CC) -arch $(RC_ARCHS) -print-file-name=libgcc.a)