scuffed-code/icu4c/debian/rules

195 lines
5.6 KiB
Plaintext
Raw Normal View History

#!/usr/bin/make -f
# ICU debian/rules that uses debhelper.
# The Debian packages for ICU are created and maintained by
# Yves Arrouye <yves@debian.org>. They are part of Debian GNU/Linux
# since the Debian woody release.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# This is the debhelper compatability version to use.
export DH_COMPAT=1
# Where the source for ICU is, where to build
srcdir = source
builddir = build
# ICU installation directories, w/o the initial slash
icudatadir = usr/share/icu/$(version)
iculibdir = usr/lib/icu/$(version)
datasrcdir = usr/share/icu/$(version)/data
# shared library versions, option 1
version:=$(shell sed -n 's/^[ ]*\#[ ]*define[ ]*U_ICU_VERSION[ ]*"\([^"]*\)".*/\1/p' $(srcdir)/common/unicode/utypes.h)
major:=$(shell echo $(version) | sed -e 's/\.//' -e 's/\..*//')
# option 2, assuming the library is created as src/.libs/libfoo.so.2.0.5 or so
#version=`ls src/.libs/lib*.so.* | \
# awk '{if (match($$0,/[0-9]+\.[0-9]+\.[0-9]+$$/)) print substr($$0,RSTART)}'`
#major=`ls src/.libs/lib*.so.* | \
# awk '{if (match($$0,/\.so\.[0-9]+$$/)) print substr($$0,RSTART+4)}'`
# Build flags
CFLAGS = -O2 # -Wall
CXXFLAGS = -O2 # -Wall
INSTALL_PROGRAM = /usr/bin/install
ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
CFLAGS += -g
CXXFLAGS += -g
endif
ifneq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
INSTALL_PROGRAM += -s
endif
all: build
configure: $(builddir)/configure-stamp
$(builddir)/configure-stamp:
dh_testdir
# Add here commands to configure the package.
test -d $(builddir) || mkdir $(builddir)
cd build; CFLAGS='$(CFLAGS)' CXXFLAGS='$(CFLAGS)' INSTALL_PROGRAM='$(INSTALL_PROGRAM)' ../$(srcdir)/configure --srcdir=../$(srcdir) --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --with-data-packaging=files --disable-rpath --enable-shared --enable-static --disable-samples
touch $@
build: $(builddir)/configure-stamp $(builddir)/build-stamp
$(builddir)/build-stamp:
dh_testdir
# Add here commands to compile the package.
$(MAKE) -C $(builddir)
touch $@
clean:
dh_testdir
dh_testroot
$(RM) $(builddir)/build-stamp $(builddir)/configure-stamp
# Add here commands to clean up after the build process.
-$(MAKE) -C $(builddir) distclean
-$(RM) `find $(builddir)/samples $(builddir)/test -name Makefile`
$(RM) $(addprefix debian/,$(DEBIAN_FILES))
dh_clean
test $(builddir) != $(srcdir) && rmdir `find $(builddir) -type d -print`
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# Add here commands to install the package into debian/tmp.
$(MAKE) -C $(builddir) install DESTDIR=`pwd`/debian/tmp
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build some Debian files
debian/%: debian/%.in
cd source \
&& CONFIG_FILES=../$@ CONFIG_HEADERS= $(SHELL) ./config.status
DEBIAN_FILES = icu.conffiles icu.postinst icu.prerm
# Build architecture-dependent files here.
binary-arch: build install $(addprefix debian/,$(DEBIAN_FILES))
# dh_testversion
dh_testdir
dh_testroot
rm debian/tmp/usr/sbin/gentest
#
# build libicu${major} package by moving files from icu-dev
#
dh_movefiles -plibicu$(major) \
usr/lib/libicuuc.so.* \
usr/lib/libicui18n.so.* \
usr/lib/libicutoolutil.so.* \
usr/lib/libustdio.so.*
#
# build icu package by moving files from icu-dev
#
dh_movefiles -picu \
etc \
usr/sbin \
$(icudatadir)/README \
$(iculibdir)/*.cnv \
$(iculibdir)/u*.dat \
$(iculibdir)/tz.dat \
usr/share/man
rm debian/tmp/$(iculibdir)/cnvalias.dat
#
# build icu-locales package by moving files from icu-dev
#
dh_movefiles -picu-locales \
$(iculibdir)
#
# build icu-data from the source data
#
test -d debian/icu-data/$(datasrcdir) || \
mkdir -p debian/icu-data/$(datasrcdir)
install -m 644 $(srcdir)/../data/ucname.txt \
$(srcdir)/../data/*.ucm \
debian/icu-data/$(datasrcdir)
test -d debian/icu-data/$(datasrcdir)/unidata || \
mkdir -p debian/icu-data/$(datasrcdir)/unidata
install -m 644 $(srcdir)/../data/unidata/*.* \
debian/icu-data/$(datasrcdir)/unidata
unidatafile=`(cd $(srcdir)/../data; ls UnicodeData*.txt)`; cd debian/icu-data/$(datasrcdir) && ln -s unidata/UnicodeData.txt $$unidatafile
#
# build icu-i18ndata from the source data
#
test -d debian/icu-i18ndata/$(datasrcdir) || \
mkdir -p debian/icu-i18ndata/$(datasrcdir)
install -m 644 $(srcdir)/../data/*.txt \
$(srcdir)/../data/*.brk \
debian/icu-i18ndata/$(datasrcdir)
cd debian/icu-i18ndata/$(datasrcdir) && \
$(RM) convrtrs.txt UnicodeData*.txt ucname.txt
#
# do a bit of cleanup
#
rm -rf debian/tmp/etc debian/tmp/usr/sbin \
debian/tmp/$(iculibdir) \
debian/tmp/usr/share/man
#
# continue to prepare packages
#
# dh_installdebconf
dh_installdocs docs
dh_installexamples $(srcdir)/samples/*
dh_installmenu
# dh_installemacsen
# dh_installpam
# dh_installinit
dh_installcron
dh_installmanpages -picu
dh_installinfo
dh_undocumented -picu genccode.8 gencmn.8 gennames.8 \
genprops.8 gentz.8 pkgdata.8
dh_installchangelogs
dh_link
dh_strip
dh_compress
dh_fixperms
# CVS fixup
if test -d CVS; then find debian/tmp -name CVS -print | xargs rm -r; fi
# You may want to make some executables suid here.
dh_suidregister
dh_makeshlibs
dh_installdeb
# dh_perl
dh_shlibdeps && \
sed 's/ libicu16[^,]*,//' debian/libicu$(major).substvars >debian/libicu$(major).substvars.new && mv debian/libicu$(major).substvars.new debian/libicu$(major).substvars
dh_gencontrol -- -Vversion=$(version) -Vmajor=$(major)
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install