|  | # Copyright (C) 2001-2025 Free Software Foundation, Inc. | 
|  | # | 
|  | # This file is part of GCC. | 
|  | # | 
|  | # GCC is free software; you can redistribute it and/or modify | 
|  | # it under the terms of the GNU General Public License as published by | 
|  | # the Free Software Foundation; either version 3, or (at your option) | 
|  | # any later version. | 
|  | # | 
|  | # GCC is distributed in the hope that it will be useful, | 
|  | # but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|  | # GNU General Public License for more details. | 
|  | # | 
|  | # You should have received a copy of the GNU General Public License | 
|  | # along with GCC; see the file COPYING3.  If not see | 
|  | # <http://www.gnu.org/licenses/>. | 
|  |  | 
|  | # Build a shared libgcc library. | 
|  |  | 
|  | SHLIB_EXT = .so | 
|  | SHLIB_SOLINK = @shlib_base_name@.so | 
|  | SHLIB_SOVERSION = 1 | 
|  | SHLIB_SONAME = @shlib_base_name@.so.$(SHLIB_SOVERSION) | 
|  | SHLIB_MAP = @shlib_map_file@ | 
|  | SHLIB_OBJS = @shlib_objs@ | 
|  | SHLIB_DIR = @multilib_dir@ | 
|  | SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@ | 
|  | SHLIB_LC = -lc | 
|  | SHLIB_MAKE_SOLINK = $(LN_S) $(SHLIB_SONAME) $(SHLIB_DIR)/$(SHLIB_SOLINK) | 
|  | SHLIB_INSTALL_SOLINK = $(LN_S) $(SHLIB_SONAME) \ | 
|  | $(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK) | 
|  |  | 
|  | SHLIB_LINK = $(CC) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \ | 
|  | $(SHLIB_LDFLAGS) $(LDFLAGS) \ | 
|  | -o $(SHLIB_DIR)/$(SHLIB_SONAME).tmp @multilib_flags@ \ | 
|  | $(SHLIB_OBJS) $(SHLIB_LC) && \ | 
|  | rm -f $(SHLIB_DIR)/$(SHLIB_SOLINK) && \ | 
|  | if [ -f $(SHLIB_DIR)/$(SHLIB_SONAME) ]; then \ | 
|  | mv -f $(SHLIB_DIR)/$(SHLIB_SONAME) \ | 
|  | $(SHLIB_DIR)/$(SHLIB_SONAME).backup; \ | 
|  | else true; fi && \ | 
|  | mv $(SHLIB_DIR)/$(SHLIB_SONAME).tmp $(SHLIB_DIR)/$(SHLIB_SONAME) && \ | 
|  | $(SHLIB_MAKE_SOLINK) | 
|  |  | 
|  | INSTALL_SHLIB = $(INSTALL_DATA) | 
|  |  | 
|  | SHLIB_INSTALL = \ | 
|  | $(mkinstalldirs) $(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL); \ | 
|  | $(INSTALL_SHLIB) $(SHLIB_DIR)/$(SHLIB_SONAME) \ | 
|  | $(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SONAME); \ | 
|  | rm -f $(DESTDIR)$(slibdir)$(SHLIB_SLIBDIR_QUAL)/$(SHLIB_SOLINK); \ | 
|  | $(SHLIB_INSTALL_SOLINK) |