include $(CoreOSMakefiles)/ProjectBuilder/Makefile.Postamble.Common ifeq ($(BUILD_TYPE),normal) OPTIMIZE_BUILD_LIBS := $(LIBSYSTEM_LIBS) $(GCCLIBS) endif # pb_makefiles erroneously omits $(BUILD_TYPE_SUFFIX) from the install name DYLIB_INSTALL_NAME = $(LIBRARY_PREFIX)$(NAME).$(VERSION_NAME)$(BUILD_TYPE_SUFFIX)$(LIBRARY_EXT) # The nonversioned suffix link is required by cc -pg, which is a bug in the compiler. # We can remove those when this is fixed. override DEBUG_SUFFIX = _debug PRODUCTS += $(foreach TYPE, DEBUG PROFILE, \ $(PRODUCT_DIR)/$(LIBRARY_PREFIX)$(NAME)$($(TYPE)_SUFFIX)$(LIBRARY_EXT) \ $(PRODUCT_DIR)/$(LIBRARY_PREFIX)$(NAME).$(VERSION_NAME)$($(TYPE)_SUFFIX)$(LIBRARY_EXT) \ ) SystemFramework = $(NSFRAMEWORKDIR)/System.framework VersionDir = Versions/$(VERSION_NAME) compat-next: $(INSTALL_DIRECTORY) "$(DSTROOT)$(SystemFramework)" $(INSTALL_DIRECTORY) "$(DSTROOT)$(SystemFramework)/Versions" $(INSTALL_DIRECTORY) "$(DSTROOT)$(SystemFramework)/$(VersionDir)" $(LN) -fs "$(VERSION_NAME)" "$(DSTROOT)$(SystemFramework)/Versions/Current" for suffix in "" $(DEBUG_SUFFIX) $(PROFILE_SUFFIX); do \ $(LN) -fs "Versions/Current/$(NAME)$${suffix}" "$(DSTROOT)$(SystemFramework)/$(NAME)$${suffix}" ; \ $(LN) -fs "../../../../../..$(INSTALLDIR)/$(LIBRARY_PREFIX)$(NAME).$(VERSION_NAME)$${suffix}$(LIBRARY_EXT)" \ "$(DSTROOT)$(SystemFramework)/$(VersionDir)/$(NAME)$${suffix}" ; \ done $(LN) -fs "Versions/Current/PrivateHeaders" "$(DSTROOT)$(SystemFramework)" compat-bsd: for lib in $(BSD_LIBS) ; do \ $(LN) -fs libSystem.dylib "$(DSTROOT)$(INSTALLDIR)/lib$${lib}.dylib"; \ done copy_plist: $(MKDIR) $(DSTROOT)$(SystemFramework)/$(VersionDir)/Resources $(LN) -fs Versions/Current/Resources $(DSTROOT)$(SystemFramework)/Resources $(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 SLFS_F_PH = /System/Library/Frameworks/System.framework/PrivateHeaders $(OFILE_DIR)/%.ppc.o %.ppc.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 0xffff8000 \ $(OFILE_DIR)/commsym.$(CURRENT_ARCH).o -o $(OFILE_DIR)/$(notdir $@) $(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 0xBFFF8000 \ $(OFILE_DIR)/commsym.$(CURRENT_ARCH).o -o $(OFILE_DIR)/$(notdir $@) #---------------------------------------------------------------------------- ifeq ($(RC_ARCHS),ppc) ifeq ($(BUILD_TYPE),normal) LIBSUFFIX = .a REMOVESUFFIX = .So else ifeq ($(BUILD_TYPE),debug) LIBSUFFIX = _debug.a REMOVESUFFIX = .do else LIBSUFFIX = _profile.a REMOVESUFFIX = .po endif endif CNAME = libc$(LIBSUFFIX) MNAME = libm$(LIBSUFFIX) REMOVELIBC = _ldtoa err hexfloat syslog vfprintf vfwprintf REMOVELIBCOBJS = $(addsuffix $(REMOVESUFFIX),$(REMOVELIBC)) REMOVELIBM = fpmacros REMOVELIBMOBJS = $(addsuffix .o,$(REMOVELIBM)) LIBGCC = $(LIBSYS)/libgcc-ppc.a $(OFILE_DIR)/libgcc.unexport: nm -g -arch $(RC_ARCHS) $(LIBGCC) | grep ' [A-TV-Z] ' | sed 's/^.* [A-Z] //' > $(OFILE_DIR)/libgcc.unexport lipo -thin ppc -output $(OFILE_DIR)/$(CNAME) $(LIBSYS)/$(CNAME) ar -d $(OFILE_DIR)/$(CNAME) $(REMOVELIBCOBJS) ranlib $(OFILE_DIR)/$(CNAME) lipo -thin ppc -output $(OFILE_DIR)/$(MNAME) $(LIBSYS)/$(MNAME) ar -d $(OFILE_DIR)/$(MNAME) $(REMOVELIBMOBJS) ranlib $(OFILE_DIR)/$(MNAME) endif