[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