File: rules

package info (click to toggle)
libflorist 2014-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 1,996 kB
  • ctags: 304
  • sloc: ada: 11,705; ansic: 7,195; makefile: 154; sh: 19
file content (89 lines) | stat: -rwxr-xr-x 2,916 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
#!/usr/bin/make -f

# Copyright (c) 2003-2014 Ludovic Brenta <lbrenta@debian.org>
# Copyright (c) 2014      Nicolas Boulenguez <nicolas@debian.org>

# This build script is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 3 of the
# License, or (at your option) any later version.

# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
# USA

# On Debian systems, the full text of the GPL is in the file
# /usr/share/common-licenses/GPL-3.

######################
# Set some variables #
######################

include /usr/share/dpkg/default.mk
include /usr/share/ada/debian_packaging.mk

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

ADAFLAGS += -gnatVa -gnatafno -gnatwa
CFLAGS += -w
LDLIBS := -lrt -lpthread

soversion := $(shell sed -n -e "s/^Package: libflorist\([[:digit:]]\+\)$$/\1/p" debian/control)
ifndef soversion
  $(warning Could not guess soversion from debian/control)
  # Not error. Policy defines targets that may be run from outside build dir.
endif

POLICY_TARGETS := binary binary-arch binary-indep build build-arch \
  build-indep clean
.PHONY: $(POLICY_TARGETS)
$(POLICY_TARGETS):
	dh $@ --with ada-library

override_dh_auto_configure-arch:
	mv -n configure configure.backup
	autoconf
	dh_auto_configure
override_dh_auto_clean::
	if test -f configure.backup; then mv configure.backup configure; fi

# Ignore install target in upstream Makefile.
override_dh_auto_install:

lib-shared obj-shared:
	mkdir $@

# Compile macros with -fPIC, store them where gnatmake will see them.
MACRO_SRC := posix-macros posix-macros-sockets
MACRO_OBJ := $(foreach m,$(MACRO_SRC),obj-shared/$(m).o)
$(MACRO_OBJ): obj-shared/%.o: %.c pconfig.h | obj-shared
	$(CC) $(CFLAGS) -fPIC $(CPPFLAGS) $(OUTPUT_OPTION) -c $<

override_dh_auto_build-arch: $(MACRO_OBJ) | lib-shared obj-shared

	# Build the static library as per the upstream Makefile
	$(MAKE) \
          GCCFLAGS="$(CPPFLAGS) $(CFLAGS) $(LDFLAGS)" \
          GNATMAKE="gnatmake $(BUILDER_OPTIONS) '-XADAFLAGS=$(ADAFLAGS)'"

	# Build the shared library
	gnatmake $(BUILDER_OPTIONS) -P debian/florist.gpr $(foreach v, \
          ADAFLAGS LDFLAGS LDLIBS soversion \
          ,"-X$(v)=$($(v))")

override_dh_auto_clean::
	rm -rf lib-shared obj-shared
 # Run upstream clean target.
	dh_auto_clean

override_dh_ada_library:
	dh_ada_library $(foreach v, \
          LDLIBS soversion \
          ,"$(v)=$($(v))") debian/florist.gpr