diff --git a/xflaim/Makefile b/xflaim/Makefile index bb39af0..96624c3 100644 --- a/xflaim/Makefile +++ b/xflaim/Makefile @@ -48,6 +48,7 @@ ifneq (,$(findstring dist,$(MAKECMDGOALS))) # Get the info for all files. revision = $(shell svnversion . -n) +# revision = $(subst M,,$(shell svnversion . -n)) ifneq (,$(findstring M,$(revision))) $(error Local modifications found - please check in before making distro) @@ -64,6 +65,11 @@ else endif version = $(major_version).$(minor_version).$(revision) +so_current = 1 +so_revision = 0 +so_age = 0 +suffix_version = + rpm_release_num = 1 # -- Paths initializations -- @@ -374,6 +380,9 @@ em := sp := $(em) $(em) percent := \045 dollar := \044 +question := \077 +asterisk := \052 +dash := \055 ifeq ($(host_os_family),win) allprereqs = $(subst /,\,$+) @@ -483,6 +492,15 @@ ifdef unix_target lib_prefix = lib lib_suffix = .a shared_lib_suffix = .so + ifneq ($(so_age),0) + suffix_version = .$(so_current).$(so_revision).$(so_age) + else + ifneq ($(so_revision),0) + suffix_version = .$(so_current).$(so_revision) + else + suffix_version = .$(so_current) + endif + endif compiler = g++ linker = g++ @@ -749,7 +767,7 @@ ut_xpathtest2_src = \ xflaim_obj = $(patsubst src/%.cpp,$(obj_dir)/%$(obj_suffix),$(xflaim_src)) static_xflaim_lib = $(static_lib_dir)/$(lib_prefix)$(project_name)$(lib_suffix) -shared_xflaim_lib = $(shared_lib_dir)/$(lib_prefix)$(project_name)-$(version)$(shared_lib_suffix) +shared_xflaim_lib = $(shared_lib_dir)/$(lib_prefix)$(project_name)$(shared_lib_suffix)$(suffix_version) # -- Unit tests -- @@ -1092,9 +1110,7 @@ ifndef win_target mkdir -p $(lib_install_dir)/pkgconfig mkdir -p $(include_install_dir) install --mode=644 $(shared_xflaim_lib) $(lib_install_dir) - ln -fs $(lib_prefix)$(project_name)-$(version)$(shared_lib_suffix) $(lib_install_dir)/$(lib_prefix)$(project_name)-$(major_version).$(minor_version)$(shared_lib_suffix) - ln -fs $(lib_prefix)$(project_name)-$(version)$(shared_lib_suffix) $(lib_install_dir)/$(lib_prefix)$(project_name)-$(major_version)$(shared_lib_suffix) - ln -fs $(lib_prefix)$(project_name)-$(version)$(shared_lib_suffix) $(lib_install_dir)/$(lib_prefix)$(project_name)$(shared_lib_suffix) + ldconfig -l -v $(lib_install_dir)/$(lib_prefix)$(project_name)$(shared_lib_suffix)$(suffix_version) install --mode=644 $(static_xflaim_lib) $(lib_install_dir) install --mode=644 $(pkgconfig_file) $(pkgconfig_install_dir) install --mode=644 src/xflaim.h $(include_install_dir) @@ -1107,9 +1123,7 @@ endif uninstall: ifndef win_target $(ec)$(gprintf) "Uninstalling ...\n" - -rm -rf $(lib_install_dir)/$(lib_prefix)$(project_name)-$(version)$(shared_lib_suffix) - -rm -rf $(lib_install_dir)/$(lib_prefix)$(project_name)-$(major_version)$(shared_lib_suffix) - -rm -rf $(lib_install_dir)/$(lib_prefix)$(project_name)-$(major_version).$(minor_version)$(shared_lib_suffix) + -rm -rf $(lib_install_dir)/$(lib_prefix)$(project_name)$(shared_lib_suffix)* -rm -rf $(lib_install_dir)/$(lib_prefix)$(project_name)$(lib_suffix) -rm -rf $(pkgconfig_install_dir)/$(pkgconfig_file_name) -rm -rf $(include_install_dir)/xflaim.h @@ -1127,15 +1141,25 @@ spec: dircheck $(ec)$(gprintf) "BuildRequires: libstdc++-devel libstdc++ gcc-c++\n" >> $(spec_file) $(ec)$(gprintf) "Summary: $(project_desc)\n" >> $(spec_file) $(ec)$(gprintf) "Name: $(rpm_proj_name)\n" >> $(spec_file) + $(ec)$(gprintf) "URL: http://forge.novell.com/modules/xfmod/project/$(question)flaim\n" >> $(spec_file) $(ec)$(gprintf) "Version: $(version)\n" >> $(spec_file) $(ec)$(gprintf) "Release: $(rpm_release_num)\n" >> $(spec_file) - $(ec)$(gprintf) "Copyright: GPL\n" >> $(spec_file) + $(ec)$(gprintf) "License: GPL\n" >> $(spec_file) $(ec)$(gprintf) "Vendor: Novell, Inc.\n" >> $(spec_file) $(ec)$(gprintf) "Group: Development/Libraries/C and C++\n" >> $(spec_file) $(ec)$(gprintf) "Source: $(rpm_proj_name_and_ver).tar.gz\n" >> $(spec_file) - $(ec)$(gprintf) "BuildRoot: /var/tmp/$(rpm_proj_name_and_ver)-buildroot\n" >> $(spec_file) + $(ec)$(gprintf) "BuildRoot: $(percent){_tmppath}/$(percent){name}-$(percent){version}-build\n" >> $(spec_file) $(ec)$(gprintf) "\n" >> $(spec_file) $(ec)$(gprintf) "$(percent)description\n" >> $(spec_file) + $(ec)$(gprintf) "XFLAIM is an embeddable cross-platform XML database engine that\n" >> $(spec_file) + $(ec)$(gprintf) "provides a rich, powerful, easy-to-use feature set. It has proven to be\n" >> $(spec_file) + $(ec)$(gprintf) "highly scalable, reliable, and robust. It is available on a wide\n" >> $(spec_file) + $(ec)$(gprintf) "variety of 32 bit and 64 bit platforms.\n" >> $(spec_file) + $(ec)$(gprintf) "\n" >> $(spec_file) + $(ec)$(gprintf) "Authors:\n" >> $(spec_file) + $(ec)$(gprintf) "$(dash)$(dash)$(dash)$(dash)$(dash)$(dash)$(dash)$(dash)\n" >> $(spec_file) + $(ec)$(gprintf) " Daniel Sanders\n" >> $(spec_file) + $(ec)$(gprintf) " Andrew Hodgkinson\n" >> $(spec_file) $(ec)$(gprintf) "\n" >> $(spec_file) $(ec)$(gprintf) "$(percent)package devel\n" >> $(spec_file) $(ec)$(gprintf) "Summary: XFLAIM static library and header file\n" >> $(spec_file) @@ -1143,6 +1167,15 @@ spec: dircheck $(ec)$(gprintf) "Provides: $(rpm_proj_name)-devel\n" >> $(spec_file) $(ec)$(gprintf) "\n" >> $(spec_file) $(ec)$(gprintf) "$(percent)description devel\n" >> $(spec_file) + $(ec)$(gprintf) "XFLAIM is an embeddable cross-platform XML database engine that\n" >> $(spec_file) + $(ec)$(gprintf) "provides a rich, powerful, easy-to-use feature set. It has proven to be\n" >> $(spec_file) + $(ec)$(gprintf) "highly scalable, reliable, and robust. It is available on a wide\n" >> $(spec_file) + $(ec)$(gprintf) "variety of 32 bit and 64 bit platforms.\n" >> $(spec_file) + $(ec)$(gprintf) "\n" >> $(spec_file) + $(ec)$(gprintf) "Authors:\n" >> $(spec_file) + $(ec)$(gprintf) "$(dash)$(dash)$(dash)$(dash)$(dash)$(dash)$(dash)$(dash)\n" >> $(spec_file) + $(ec)$(gprintf) " Daniel Sanders\n" >> $(spec_file) + $(ec)$(gprintf) " Andrew Hodgkinson\n" >> $(spec_file) $(ec)$(gprintf) "\n" >> $(spec_file) $(ec)$(gprintf) "$(percent)prep\n" >> $(spec_file) $(ec)$(gprintf) "\n" >> $(spec_file) @@ -1161,10 +1194,7 @@ spec: dircheck $(ec)$(gprintf) "$(percent)files\n" >> $(spec_file) $(ec)$(gprintf) "$(percent)defattr(-,root,root)\n" >> $(spec_file) $(ec)$(gprintf) "$(percent)doc COPYING VERSION\n" >> $(spec_file) - $(ec)$(gprintf) "$(percent){prefix}/$(percent){_lib}/$(lib_prefix)$(project_name)-$(version)$(shared_lib_suffix)\n" >> $(spec_file) - $(ec)$(gprintf) "$(percent){prefix}/$(percent){_lib}/$(lib_prefix)$(project_name)-$(major_version).$(minor_version)$(shared_lib_suffix)\n" >> $(spec_file) - $(ec)$(gprintf) "$(percent){prefix}/$(percent){_lib}/$(lib_prefix)$(project_name)-$(major_version)$(shared_lib_suffix)\n" >> $(spec_file) - $(ec)$(gprintf) "$(percent){prefix}/$(percent){_lib}/$(lib_prefix)$(project_name)$(shared_lib_suffix)\n" >> $(spec_file) + $(ec)$(gprintf) "$(percent){prefix}/$(percent){_lib}/$(lib_prefix)$(project_name)$(shared_lib_suffix)$(asterisk)\n" >> $(spec_file) $(ec)$(gprintf) "\n" >> $(spec_file) $(ec)$(gprintf) "$(percent)files devel\n" >> $(spec_file) $(ec)$(gprintf) "$(percent){prefix}/$(percent){_lib}/$(lib_prefix)$(project_name)$(lib_suffix)\n" >> $(spec_file)