~ubuntu-branches/debian/experimental/gdb/experimental

« back to all changes in this revision

Viewing changes to debian/rules

  • Committer: Package Import Robot
  • Author(s): Hector Oron
  • Date: 2011-11-17 18:37:45 UTC
  • Revision ID: package-import@ubuntu.com-20111117183745-9nnx0zh5trffx1bj
Tags: 7.4-1~cvs20111117.1
* Add accidentally dropped armhf to architecture list
* Add GDB debug package (Closes: #592512, #490049)
* Provide GDB multiarch package (Closes: #610519)
  - Add gdb-multiarch package supporting extra bfd targets similarly to
    binutils-multiarch; the package is constructed much like gdb64 except that
    it's build with the gdb configure flags and --enable-targets=all for now.
  - Thanks Loïc Minier.
* Fix conflicts between cross and regular gdb (Closes: #603347)
  - Pass --gdb-datadir=/usr/share/gdb-$triplet when building a cross-gdb and
    update gdb.install sed snippet to match; fixes conflict with gdb;
  - Thanks Loïc Minier.

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
 
5
5
DEB_BUILDDIR := $(ALL_BUILDDIR)/objdir
6
6
DEB_DH_INSTALL_SOURCEDIR := $(shell pwd)/debian/tmp
 
7
DEB_DH_STRIP_ARGS := --dbg-package=gdb-dbg
7
8
 
8
9
# This implements the .deb package creation using debhelper.
9
10
include /usr/share/cdbs/1/rules/debhelper.mk
45
46
                         -a$(DEB_TARGET_ARCH) -qDEB_HOST_GNU_TYPE 2>/dev/null)
46
47
DEB_TARGET_ALIAS ?= $(DEB_TARGET_GNU_TYPE)
47
48
 
 
49
ifneq ($(GDB_TARGET),)
 
50
DEB_CONFIGURE_GDB_DATADIR := "\$${prefix}/share/gdb-$(DEB_TARGET_GNU_TYPE)"
 
51
DEB_CONFIGURE_PATH_ARGS += --with-gdb-datadir=$(DEB_CONFIGURE_GDB_DATADIR)
 
52
endif
 
53
 
48
54
ifeq ($(DEB_TARGET_ARCH),)
49
55
$(error GDB_TARGET value "$(GDB_TARGET)" is not a valid Debian architecture)
50
56
endif
79
85
endif
80
86
endif
81
87
 
 
88
BUILDDIRMULTIARCH = $(ALL_BUILDDIR)/objdir-multiarch
 
89
 
82
90
run_tests := yes
83
91
 
84
92
ifneq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
122
130
DEB_CONFIGURE_FLAGS_64 := --host=$(HOST64) $(EXTRA_FLAGS) \
123
131
        --enable-tui
124
132
 
 
133
# multiarch targets; this is taken from the binutils-multiarch package but
 
134
# doesn't seem like a terribly nice list; see
 
135
# <20110117211551.GA7216@bee.dooz.org> for discussion -- locally updated
 
136
#MULTIARCH_TARGETS := \
 
137
#       alpha-linux-gnu \
 
138
#       arm-linux-gnu \
 
139
#       arm-linux-gnueabi \
 
140
#       arm-linux-gnueabihf \
 
141
#       hppa-linux-gnu \
 
142
#       i686-linux-gnu \
 
143
#       ia64-linux-gnu \
 
144
#       m68k-linux-gnu \
 
145
#       m68k-rtems \
 
146
#       mips-linux-gnu \
 
147
#       mipsel-linux-gnu \
 
148
#       mips64-linux-gnu \
 
149
#       mips64el-linux-gnu \
 
150
#       powerpc-linux-gnu \
 
151
#       powerpcspe-linux-gnu \
 
152
#       ppc64-linux-gnu \
 
153
#       s390-linux-gnu \
 
154
#       s390x-linux-gnu \
 
155
#       sh-linux-gnu \
 
156
#       sh64-linux-gnu \
 
157
#       sparc-linux-gnu \
 
158
#       sparc64-linux-gnu \
 
159
#       x86_64-linux-gnu \
 
160
#       m32r-linux-gnu \
 
161
#       spu
 
162
MULTIARCH_TARGETS := all
 
163
# multiarch flags
 
164
DEB_CONFIGURE_FLAGS_MULTIARCH := $(DEB_CONFIGURE_EXTRA_FLAGS) \
 
165
        --enable-targets=`set -- $(MULTIARCH_TARGETS); IFS=,; echo "$$*"`
 
166
 
125
167
# Minimal flags
126
168
DEB_CONFIGURE_FLAGS_MIN := --host=$(DEB_HOST_GNU_TYPE) $(EXTRA_FLAGS) \
127
169
        --disable-tui --without-expat --without-python
158
200
        cd $(BUILDDIR64) && $(DEB_MAKE_ENVVARS) $(MAKE) $(NJOBS)
159
201
        touch $@
160
202
 
 
203
build/gdb-multiarch:: build-multiarch-stamp
 
204
build-multiarch-stamp:
 
205
        mkdir -p $(BUILDDIRMULTIARCH)
 
206
        cd $(BUILDDIRMULTIARCH) && \
 
207
          $(shell pwd)/configure $(DEB_CONFIGURE_FLAGS_MULTIARCH)
 
208
        cd $(BUILDDIRMULTIARCH) && $(DEB_MAKE_ENVVARS) $(MAKE) $(NJOBS)
 
209
        touch $@
 
210
 
161
211
build/gdb-minimal:: build-minimal-stamp
162
212
build-minimal-stamp:
163
213
        mkdir -p $(BUILDDIRMIN)
174
224
        touch $@
175
225
 
176
226
clean::
177
 
        rm -f check-stamp build64-stamp
 
227
        rm -f check-stamp build64-stamp build-multiarch-stamp
178
228
        rm -rf $(ALL_BUILDDIR)
179
229
 
180
230
        if test -f gdb/version.in.backup; then \
222
272
        rm -rf debian/gdb64/usr/share/doc/gdb64
223
273
        ln -s gdb debian/gdb64/usr/share/doc/gdb64
224
274
 
 
275
binary-post-install/gdb-multiarch ::
 
276
        install -d debian/gdb-multiarch/usr/bin
 
277
        install -s -m 755 $(BUILDDIRMULTIARCH)/gdb/gdb debian/gdb-multiarch/usr/bin/gdb-multiarch
 
278
        dh_link -pgdb-mutliarch usr/share/man/man1/gdb.1.gz usr/share/man/man1/gdb64.1.gz
 
279
        rm -rf debian/gdb-multiarch/usr/share/doc/gdb-multiarch
 
280
        ln -s gdb debian/gdb-multiarch/usr/share/doc/gdb-multiarch
 
281
 
225
282
binary-post-install/gdb-minimal ::
226
283
        install -d debian/gdb-minimal/usr/bin
227
284
        $(INSTALL) -m 755 -o root -g root \
258
315
                | sed "s/@TS@/$(TS)/g" \
259
316
                > debian/control
260
317
ifeq ($(DEB_CROSS),yes)
261
 
        sed -i "/Package: gdb64/,\$$ d" debian/control
262
 
        sed "s+/gdb+/$(TP)gdb+g; s+usr/share/$(TP)gdb+usr/share/gdb+g" \
 
318
        sed -i "/Package: gdb64/,\$$ d" -i "/Package: gdb-multiarch/,\$$ d" debian/control
 
319
        sed "s+/gdb+/$(TP)gdb+g; s+usr/share/$(TP)gdb+usr/share/gdb$(TS)+g" \
263
320
                debian/gdb.install > debian/gdb$(TS).install
264
321
endif
265
322