[Mobies-commit] [commit] r4237 - in UDM/trunk: . lib

endre at redhat3.isis.vanderbilt.edu endre at redhat3.isis.vanderbilt.edu
Sun Jan 12 22:03:04 CST 2014


Author: endre
Date: Sun Jan 12 22:03:04 2014
New Revision: 4237

Log:
Add version info to shared libraries.

Modified:
   UDM/trunk/Makefile.OSX.incl
   UDM/trunk/lib/Makefile.OSX

Modified: UDM/trunk/Makefile.OSX.incl
==============================================================================
--- UDM/trunk/Makefile.OSX.incl	Sat Jan 11 23:27:07 2014	(r4236)
+++ UDM/trunk/Makefile.OSX.incl	Sun Jan 12 22:03:04 2014	(r4237)
@@ -1,7 +1,16 @@
-#CC=gcc
+##############################################
+#		VERSIONING of UDM	     #
+#	<DON'T EDIT THIS SECTION>	     #
+##############################################
+MAJOR_VERSION=3
+MINOR_VERSION=2.12
+VERSION=$(MAJOR_VERSION).$(MINOR_VERSION)
+COMPAT_VERSION=$(MAJOR_VERSION).2
+##############################################
+#		COMPILER FLAGS		     #
+#	<DON'T EDIT THIS SECTION>	     #
+##############################################
 CC=g++
-
-
 #Xerces binary was available only for i386
 #Xerces source does not compile in MACOSX with --arch x86_64
 #Therefore the whole package is compiled for i386
@@ -12,13 +21,17 @@
 # we need to run Python in 32bit mode as well
 VERSIONER_PYTHON_PREFER_32_BIT=yes
 
+##############################################
+# 3rd Party tools expected to be installed   #
+#	<DON'T EDIT THIS SECTION>	     #
+##############################################
 #already on a Mac with XCode
 PYTHON=/System/Library/Frameworks/Python.framework/Versions/2.7
 JDK_INCLUDE=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/
 
 #################################################
 #packages that are downloaded/installed manually#
-#section to be configured by the user
+#     SECTION TO BE CONFIGURED BY THE USER	#
 #################################################
 UDMHOME=~/trunk
 ANT=~/devtools/apache-ant-1.9.3/bin/ant
@@ -35,9 +48,13 @@
 #JAVA 1.6.0 is needed in order to have a JVM which is capable to load 32bit shared libraries (UdmSwig) (-d32 flag)
 #UdmSwig is a shared library compiled with i386
 JVMD32=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java
-###################################
-#end of section configured by user#
-###################################
+
+#####################################################
+# variables and paths needed by the build process   #
+#		<DON'T EDIT THIS SECTION>	    #
+#####################################################
+
+
 #.jar and -javadoc.jar extensions will be added by judm/Makefile
 JUNIT=junit-4.11
 CPPUNITLIBS=$(CPPUNIT)/src/cppunit/.libs

Modified: UDM/trunk/lib/Makefile.OSX
==============================================================================
--- UDM/trunk/lib/Makefile.OSX	Sat Jan 11 23:27:07 2014	(r4236)
+++ UDM/trunk/lib/Makefile.OSX	Sun Jan 12 22:03:04 2014	(r4237)
@@ -1,9 +1,13 @@
 include ../Makefile.OSX.incl
 
-all:libUdm libUdmSwig udm.so
+all:libUdm.dylib libUdm.$(COMPAT_VERSION).dylib libUdm.$(MAJOR_VERSION).dylib \
+	libUdmSwig.dylib libUdmSwig.$(COMPAT_VERSION).dylib libUdmSwig.$(MAJOR_VERSION).dylib \
+	udm.so udm.$(COMPAT_VERSION).so udm.$(MAJOR_VERSION).so udm.$(VERSION).so
 
-libUdm:
-	$(CC) -dynamiclib  -arch $(ARCH) -o libUdm.dylib \
+
+
+libUdm.$(VERSION).dylib:
+	$(CC) -dynamiclib  -arch $(ARCH) -o $@  -current_version $(VERSION) -compatibility_version $(COMPAT_VERSION) -install_name libUdm.$(MAJOR_VERSION).dylib \
 	../src/Udm/ClassGen.o ../src/Udm/DiagramGen.o ../src/Udm/NamespaceGen.o ../src/Udm/UdmCpp.o ../src/Udm/UdmCppH.o ../src/Udm/UdmCS.o ../src/Udm/File2Code/File2Code.cpp \
 	../src/Udm/JavaAPIGen/ClassGen.o ../src/Udm/JavaAPIGen/FactoryGen.o ../src/Udm/JavaAPIGen/JavaAPIGen.o ../src/Udm/JavaAPIGen/Utils.o \
 	../src/Udm/JavaAPIGen/UtilsGen.o ../src/Udm/PythonAPIGen/PythonAPIGen.o \
@@ -19,13 +23,54 @@
 	$(MINIZIP)/minizip/libminizip.a \
 	-lz -lxerces-c -lstdc++ -L $(XERCESCROOT)/lib
 
-libUdmSwig:
-	$(CC) -dynamiclib -arch $(ARCH) -o libUdmSwig.dylib ../src/UdmSwig/UdmSwigMain.o ../src/UdmSwig/UdmSwig_wrap_sed.o -lUdm -L .
+libUdm.$(COMPAT_VERSION).dylib:libUdm.$(VERSION).dylib
+	rm -f libUdm.$(COMPAT_VERSION).dylib
+	ln -s $< $@
+
+libUdm.$(MAJOR_VERSION).dylib:libUdm.$(VERSION).dylib
+	rm -f libUdm.$(MAJOR_VERSION).dylib
+	ln -s $< $@
+
+libUdm.dylib:libUdm.$(VERSION).dylib
+	rm -rf libUdm.dylib
+	ln -s $< $@
+
+
+libUdmSwig.$(VERSION).dylib:
+	$(CC) -dynamiclib -arch $(ARCH) -o $@  -current_version $(VERSION) -compatibility_version $(COMPAT_VERSION) -install_name libUdmSwig.$(MAJOR_VERSION).dylib \
+	../src/UdmSwig/UdmSwigMain.o ../src/UdmSwig/UdmSwig_wrap_sed.o -lUdm -L .
+
+libUdmSwig.$(COMPAT_VERSION).dylib:libUdmSwig.$(VERSION).dylib
+	rm -f libUdmSwig.$(COMPAT_VERSION).dylib
+	ln -s $< $@
+
+libUdmSwig.$(MAJOR_VERSION).dylib:libUdmSwig.$(VERSION).dylib
+	rm -f libUdmSwig.$(MAJOR_VERSION).dylib
+	ln -s $< $@
+
+libUdmSwig.dylib:libUdmSwig.$(VERSION).dylib
+	rm -rf libUdmSwig.dylib
+	ln -s $< $@
+
+udm.$(VERSION).so:../src/UdmPython/UdmPython.o
+	$(CC) -dynamiclib -arch $(ARCH) -install_name udm.$(MAJOR_VERSION).so -L$(PYTHON)/lib -L$(PYTHON)/lib/python2.7/config -o $@ $<  $(LIBBOOST_PYTHON)  -lpython2.7 -lUdm -L .    -headerpad_max_install_names 
+
+udm.$(COMPAT_VERSION).so:udm.$(VERSION).so
+
+	rm -rf udm.so
+	ln -s $< $@
+
+udm.$(MAJOR_VERSION).so:udm.$(VERSION).so
+	rm -rf udm.so
+	ln -s $< $@
+
+udm.so:udm.$(VERSION).so
+	rm -rf udm.so
+	ln -s $< $@
 
-udm.so:../src/UdmPython/UdmPython.o
-	$(CC) -dynamiclib -arch $(ARCH) -install_name $@ -L$(PYTHON)/lib -L$(PYTHON)/lib/python2.7/config -o $@ $<  $(LIBBOOST_PYTHON)  -lpython2.7 -lUdm -L .    -headerpad_max_install_names 
 
-	
 
 clean:
-	rm -f libUdm.dylib libUdmSwig.dylib udm.so
+	rm -f libUdm.dylib libUdm.$(MAJOR_VERSION).dylib libUdm.$(COMPAT_VERSION).dylib libUdm.$(VERSION).dylib \
+	libUdmSwig.dylib libUdm.$(MAJOR_VERSION).dylib libUdm.$(COMPAT_VERSION).dylib libUdm.$(VERSION).dylib \
+	udm.so udm.$(COMPAT_VERSION).so udm.$(MAJOR_VERSION).so udm.$(VERSION).so


More information about the Mobies-commit mailing list