File 20231011-makefile.patch of Package sofa_c

--- sofa/20231011/c/src/makefile.orig	2023-10-12 04:49:05.000000000 +0300
+++ sofa/20231011/c/src/makefile	2025-08-16 20:21:52.926590345 +0300
@@ -49,7 +49,7 @@
 
 # Specify the installation home directory.
 
-INSTALL_DIR = $(HOME)
+INSTALL_DIR = $(PREFIX)
 
 # Specify the installation directory for the library.
 
@@ -80,6 +80,9 @@
 SOFA_LIB_NAME = libsofa_c.a
 SOFA_LIB = $(SOFA_LIB_DIR)$(SOFA_LIB_NAME)
 
+SOFA_SHLIB_NAME = libsofa_c.so
+SOFA_SHLIB = $(SOFA_LIB_DIR)$(SOFA_SHLIB_NAME)
+
 # Name the SOFA/C testbed in its source and target locations.
 
 SOFA_TEST_NAME = t_sofa_c.c
@@ -347,19 +350,23 @@
 #-----------------------------------------------------------------------
 
 # Build (but do not install) the library.
-all : $(SOFA_LIB_NAME)
+all : $(SOFA_SHLIB_NAME)
 	-@ echo ""
 	-@ echo "*** Now type 'make test'" \
                 " to install the library and run tests ***"
 	-@ echo ""
 
+
 # Install the library and header files.
-install $(SOFA_LIB) : $(INSTALL_DIRS) $(SOFA_LIB_NAME) $(SOFA_INC)
+install $(SOFA_LIB) : $(INSTALL_DIRS) $(SOFA_LIB_NAME) $(SOFA_SHLIB_NAME) $(SOFA_INC)
 	cp $(SOFA_LIB_NAME) $(SOFA_LIB_DIR)
+	cp $(SOFA_SHLIB_NAME).0.0 $(SOFA_LIB_DIR)
+	ln -s $(SOFA_SHLIB_NAME).0.0 $(SOFA_SHLIB).0
+	ln -s $(SOFA_SHLIB_NAME).0 $(SOFA_SHLIB)
 
 # Deinstall the library and header files.
 uninstall:
-	- $(RM) $(SOFA_LIB) $(SOFA_INC)
+	- $(RM) $(SOFA_LIB) $(SOFA_SHLIB)* $(SOFA_INC)
 
 # Test the build.
 check: $(SOFA_TEST_NAME) $(SOFA_INC_NAMES) $(SOFA_LIB_NAME)
@@ -371,7 +378,7 @@
 installcheck test: $(SOFA_TEST_NAME) $(SOFA_INC) $(SOFA_LIB)
 	$(CCOMPC) $(CFLAGX) $(SOFA_TEST_NAME) -I$(SOFA_INC_DIR) \
         -L$(SOFA_LIB_DIR) -lsofa_c -lm -o $(SOFA_TEST)
-	./$(SOFA_TEST)
+	LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):$(SOFA_LIB_DIR) ./$(SOFA_TEST)
 
 # Delete object files.
 clean :
@@ -379,7 +386,7 @@
 
 # Delete all generated binaries in the current directory.
 realclean distclean : clean
-	- $(RM) $(SOFA_LIB_NAME) $(SOFA_TEST)
+	- $(RM) $(SOFA_LIB_NAME) $(SOFA_SHLIB_NAME)* $(SOFA_INC) $(SOFA_LIB) $(SOFA_SHLIB)* $(SOFA_TEST)
 
 # Create the installation directories if not already present.
 $(INSTALL_DIRS):
@@ -389,6 +396,9 @@
 $(SOFA_LIB_NAME): $(SOFA_OBS)
 	ar ru $(SOFA_LIB_NAME) $?
 
+$(SOFA_SHLIB_NAME): $(SOFA_OBS)
+	$(CCOMPC) $(CFLAGL) -shared -Wl,-soname,$(SOFA_SHLIB_NAME).0 -o $(SOFA_SHLIB_NAME).0.0 $? -lm
+
 # Install the header files.
 $(SOFA_INC) : $(INSTALL_DIRS) $(SOFA_INC_NAMES)
 	cp $(SOFA_INC_NAMES) $(SOFA_INC_DIR)
openSUSE Build Service is sponsored by