1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
|
#!/usr/bin/make -f
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/langcore.mk
DEB_INSTALL_DOCS_ALL =
DEB_INSTALL_CHANGELOGS_ALL = doc/CHANGELOG
DEB_DH_MAKESHLIBS_ARGS_ALL = -X usr/lib/licq/
# cmake settings
CMAKE = cmake
CMAKE_BUILDDIR = obj-$(if $(1),$(1)-)$(DEB_BUILD_GNU_TYPE)
CMAKE_INSTALL_PREFIX = /usr
CMAKE_NORMAL_ARGS = -DCMAKE_INSTALL_PREFIX="$(CMAKE_INSTALL_PREFIX)"
CMAKE_NORMAL_ARGS += -DCMAKE_C_COMPILER:FILEPATH="$(CC)"
CMAKE_NORMAL_ARGS += -DCMAKE_CXX_COMPILER:FILEPATH="$(CXX)"
CMAKE_NORMAL_ARGS += -DCMAKE_C_FLAGS="$(CFLAGS) $(CPPFLAGS)"
CMAKE_NORMAL_ARGS += -DCMAKE_CXX_FLAGS="$(CXXFLAGS) $(CPPFLAGS)"
CMAKE_NORMAL_ARGS += -DCMAKE_EXE_LINKER_FLAGS="$(LDFLAGS)"
CMAKE_NORMAL_ARGS += -DCMAKE_MODULE_LINKER_FLAGS="$(LDFLAGS)"
CMAKE_NORMAL_ARGS += -DCMAKE_SKIP_RPATH=ON
CMAKE_NORMAL_ARGS += -DCMAKE_VERBOSE_MAKEFILE=ON
export CTEST_OUTPUT_ON_FAILURE=1
# plugin packages
PLUGINS := $(filter licq-plugin-%,$(shell dh_listpackages))
PLUGINS := $(patsubst licq-plugin-%,%,$(PLUGINS))
PLUGINS := $(filter-out qt4-common,$(PLUGINS))
# directories of plugin packages in source tree
src/autoreply = auto-reply
src/console = console
src/forwarder = forwarder
src/icq = icq
src/jabber = jabber
src/kde4 = qt4-gui
src/msn = msn
src/osd = osd
src/qt4 = qt4-gui
src/rms = rms
# Build rules
ifeq ($(filter nocheck,$(DEB_BUILD_OPTIONS)),)
configure/licq:: CMAKE_EXTRA_ARGS += -DBUILD_TESTS=ON
else
configure/licq:: CMAKE_EXTRA_ARGS += -DBUILD_TESTS=OFF
endif
configure/licq:: $(CMAKE_BUILDDIR)/CMakeCache.txt
$(CMAKE_BUILDDIR)/CMakeCache.txt:
mkdir -p $(@D)
cd $(@D) && $(CMAKE) $(CURDIR) $(CMAKE_NORMAL_ARGS) $(CMAKE_EXTRA_ARGS)
build/licq:: debian/stamp-licq-build
debian/stamp-licq-build:
$(DEB_MAKE_ENVVARS) $(MAKE) -C $(CMAKE_BUILDDIR)
touch $@
clean::
rm -f debian/stamp-licq-build
rm -rf $(CMAKE_BUILDDIR)
# Plugins
define build-plugin
configure/licq-plugin-$(1):: CMAKE_EXTRA_ARGS += -DCMAKE_MODULE_PATH=$(CURDIR)/cmake
configure/licq-plugin-$(1):: plugins/$$(src/$(1))/$(CMAKE_BUILDDIR)/CMakeCache.txt
plugins/$$(src/$(1))/$(CMAKE_BUILDDIR)/CMakeCache.txt:
mkdir -p $$(@D)
cd $$(@D) && $$(CMAKE) $(CURDIR)/plugins/$$(src/$(1)) $$(CMAKE_NORMAL_ARGS) $$(CMAKE_EXTRA_ARGS)
build/licq-plugin-$(1):: debian/stamp-$(1)-build
debian/stamp-$(1)-build:
$$(DEB_MAKE_ENVVARS) $$(MAKE) -C plugins/$$(src/$(1))/$(CMAKE_BUILDDIR)
touch $$@
install/licq-plugin-$(1)::
$$(DEB_MAKE_ENVVARS) $$(MAKE) -C plugins/$$(src/$(1))/$(CMAKE_BUILDDIR) install DESTDIR=$(CURDIR)/debian/licq-plugin-$(1)
ifeq ($(1),qt4)
rm debian/licq-plugin-qt4/usr/share/licq/qt4-gui/emoticons/FeltTip4/LICENSE
mkdir -p debian/licq-plugin-qt4-common/usr/share/licq
mv debian/licq-plugin-qt4/usr/share/licq/qt4-gui debian/licq-plugin-qt4-common/usr/share/licq/
endif
ifneq ($(filter $(1), qt4 kde4),)
rm -r debian/licq-plugin-$(1)/usr/share/licq
endif
clean::
rm -f debian/stamp-$(1)-build
rm -rf plugins/$$(src/$(1))/$(CMAKE_BUILDDIR)
endef
configure/licq-plugin-kde4:: CMAKE_EXTRA_ARGS += -DWITH_KDE=ON
$(foreach X,$(PLUGINS),$(eval $(call build-plugin,$(X))))
# Install rules
install/licq-plugin-qt4-common:: install/licq-plugin-qt4
install/licq install/licq-dev:: install-licq-common
install-licq-common::
$(DEB_MAKE_ENVVARS) $(MAKE) -C $(CMAKE_BUILDDIR) install DESTDIR=$(CURDIR)/debian/licq
mkdir -p debian/licq/usr/share/pixmaps
cp plugins/qt4-gui/src/xpm/licq.xpm debian/licq/usr/share/pixmaps
mkdir -p debian/licq-dev/usr
mv debian/licq/usr/include debian/licq-dev/usr/include
|