File: rules

package info (click to toggle)
libflorist 2011-1
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 1,948 kB
  • sloc: ada: 11,664; ansic: 7,164; makefile: 204
file content (120 lines) | stat: -rwxr-xr-x 3,496 bytes parent folder | download
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