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 111 112 113 114 115 116 117 118 119 120
|
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
export SHELL=/bin/bash
# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
CPUS ?= $(shell getconf _NPROCESSORS_ONLN)
CFLAGS = -Wall -g
aliversion := $(shell sed -n -r 's/^Package: libflorist(.*)-dev$$/\1/p' debian/control)
soversion := $(shell sed -n -r 's/^Package: libflorist([^-]*)$$/\1/p' debian/control)
.PHONY: prebuild
prebuild:
dh_testdir
dh_prep
config.status: configure
dh_testdir
CC="gnatgcc -w" ./configure \
--host=$(DEB_HOST_GNU_TYPE) \
--build=$(DEB_BUILD_GNU_TYPE) \
--prefix=/usr \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info
libflorist.a: config.status
: # Build the static library as per the upstream Makefile
$(MAKE) GNATMAKEFLAGS1B="-g -O2" GCCFLAGS="-g -O2" GNATMAKE="gnatmake -j$(CPUS)"
rm *.o *.ali
mv floristlib/libflorist.a $@
mv floristlib obj-static
libflorist.so.$(soversion): config.status
: # Build the shared library
$(MAKE) GNATMAKEFLAGS1B="-O2 -fPIC" GCCFLAGS="-O2 -fPIC" GNATMAKE="gnatmake -j$(CPUS) -fPIC"
rm floristlib/libflorist.a deps.o *.ali
mv *.o floristlib
mv floristlib obj-shared
gnatgcc -shared obj-shared/*.o \
-o libflorist.so.$(soversion) \
-Wl,--soname,libflorist.so.$(soversion) \
-lgnat -lgnarl -lrt -lpthread
build-arch: prebuild config.status libflorist.a libflorist.so.$(soversion)
build-indep:
# Nothing to do.
build: build-arch build-indep
clean:
dh_testdir
dh_testroot
rm -rf obj-static obj-shared
if [ -f Makefile ] ; then $(MAKE) distclean; fi
rm -f config.{h,log,status} gnatprep.config Makefile pconfig.h \
pconfig.h.in stamp-h c-posix-signals c-posix-signals.log \
libflorist*
dh_clean
.PHONY: libflorist$(soversion)
libflorist$(soversion): build-arch
dh_testroot
dh_install -p$@ libflorist.so.$(soversion) usr/lib/$(DEB_HOST_MULTIARCH)
dh_strip -p$@ --dbg-package=libflorist-dbg
dh_makeshlibs -p$@
dh_shlibdeps -p$@
.PHONY: libflorist$(aliversion)-dev
libflorist$(aliversion)-dev: build-arch
dh_testroot
dh_installdirs -p$@ \
usr/share/ada/adainclude/florist \
usr/lib/ada/adalib/florist
dh_installdocs -p$@ README
dh_link -p$@ \
usr/lib/$(DEB_HOST_MULTIARCH)/libflorist.so.$(soversion) \
usr/lib/$(DEB_HOST_MULTIARCH)/libflorist.so
dh_install -p$@ libflorist.a usr/lib/$(DEB_HOST_MULTIARCH)
dh_install -p$@ obj-shared/*.ad[bs] usr/share/ada/adainclude/florist
dh_install -p$@ *.c *.h usr/share/ada/adainclude/florist
dh_install -p$@ debian/florist.gpr usr/share/ada/adainclude
dh_install -p$@ obj-shared/*.ali usr/lib/ada/adalib/florist
.PHONY: libflorist-dbg
libflorist-dbg: build-arch
dh_testroot
dh_installdocs -p$@
.PHONY: binary-arch
binary-arch: build libflorist$(soversion) libflorist$(aliversion)-dev libflorist-dbg
dh_testdir -a
dh_testroot -a
dh_installchangelogs -a
dh_installdocs -a
dh_installexamples -a
dh_installman -a
dh_link -a
dh_compress -a
dh_fixperms -a
dh_installdeb -a
dh_gencontrol -a
dh_md5sums -a
dh_builddeb -a
.PHONY: binary-indep
binary-indep:
# Nothing to do.
.PHONY: binary
binary: binary-indep binary-arch
|