X-Git-Url: https://oss.titaniummirror.com/gitweb?p=msp430-binutils.git;a=blobdiff_plain;f=debian%2Frules;fp=debian%2Frules;h=d64a064d90c6408bf8c9c5ae6ac83cf61af05ad7;hp=0000000000000000000000000000000000000000;hb=47f73751c91775676bb03af53e83c7f49dfda44f;hpb=6df9443a374e2b81278c61b8afc0a1eef7db280b diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..d64a064 --- /dev/null +++ b/debian/rules @@ -0,0 +1,184 @@ +#!/usr/bin/make -f +# debian/rules file - for binutils (2.17cvs20070426) +# Based on sample debian/rules file - for GNU Hello (1.3). +# Copyright 1994,1995 by Ian Jackson. +# Copyright 1998-2007 James Troup +# I hereby give you perpetual unlimited permission to copy, +# modify and relicense this file, provided that you do not remove +# my name from the file itself. (I assert my moral right of +# paternity under the Copyright, Designs and Patents Act 1988.) +# This file may have to be extensively modified + +include /usr/share/dpatch/dpatch.make + +TARGET = msp430 +rootname = binutils +package = $(TARGET)-$(rootname) + +CC = gcc +CFLAGS = -g -O2 +STRIP = strip --strip-unneeded --remove-section=.comment --remove-section=.note + +install_dir = install -d -m 755 +install_file = install -m 644 +install_script = install -m 755 +install_binary = install -m 755 -s + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS = -g -O0 +endif + +DISTRIBUTION := $(shell lsb_release -is) +NJOBS = +# Support parallel= in DEB_BUILD_OPTIONS (see #209008) +ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS)))) + COMMA = , + NJOBS := -j $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS)))) +endif + + +configure-stamp: patch-stamp + $(checkdir) +ifeq ($(with_check),yes) + @if echo "spawn true" | /usr/bin/expect -f - >/dev/null; then \ + : ; \ + else \ + echo "expect is failing on your system with the above error, which means the"; \ + echo "testsuite will fail. Please resolve the above issues and retry the build."; \ + echo "-----------------------------------------------------------------------------"; \ + exit 1; \ + fi +endif + rm -rf configure-stamp builddir + mkdir builddir + cd builddir \ + && env CC="$(CC)" ../configure --host=$(DEB_HOST_GNU_TYPE) \ + --build=$(DEB_BUILD_GNU_TYPE) --target=$(TARGET) --prefix=/usr \ + --disable-nls --disable-shared --enable-debug --disable-threads \ + --with-gcc --with-gnu-as --with-gnu-ld --with-stabs \ +# --disable-multilib +# --with-pkgversion="GNU Binutils for $(TARGET) on $(DISTRIBUTION)" + $(MAKE) -C builddir configure-host + touch $@ + + +build: build-stamp +build-stamp: configure-stamp + $(checkdir) + $(MAKE) -C builddir $(NJOBS) CFLAGS="$(CFLAGS)" +ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) +ifeq ($(with_check),yes) + -$(MAKE) -C builddir -k \ + CFLAGS="$(CFLAGS)" check + cat builddir/binutils/binutils.sum \ + builddir/gas/testsuite/gas.sum \ + builddir/ld/ld.sum >> $$(pwd)/test-summary + @-[ -x /usr/bin/python ] \ + && echo "Test results, compared with installed binutils:" \ + && zcat /usr/share/doc/binutils/test-summary.gz > test-summary-installed \ + && python debian/test-suite-compare.py test-summary-installed test-summary +endif +endif + touch $@ + + +install: install-stamp +install-stamp: checkroot build-stamp + $(checkdir) + rm -rf debian/tmp + $(install_dir) debian/tmp + $(MAKE) -C builddir prefix=$$(pwd)/debian/tmp/usr \ + mandir=$$(pwd)/debian/tmp/usr/share/man install + #obstack.h? configure.1? + rm -rf debian/tmp/usr/share/man/man1/msp430-c++filt* \ + debian/tmp/usr/bin/msp430-c++filt debian/tmp/usr/lib* \ + debian/tmp/usr/info debian/tmp/usr/share/locale +ifeq ($(with_strip),yes) + $(STRIP) $$(file debian/tmp/usr/bin/* | awk -F: '$$0 !~ /script/ {print $$1}') +endif + touch $@ + + +binary-indep: checkroot build install + : # Nothing to do + + +binary-arch: checkroot build install + $(checkdir) + : # install maintainer scripts + $(install_dir) debian/tmp/DEBIAN + $(install_script) debian/binutils.postinst debian/tmp/DEBIAN/postinst + $(install_script) debian/binutils.postrm debian/tmp/DEBIAN/postrm + : # $(install_file) debian/binutils.shlibs debian/tmp/DEBIAN/shlibs + : # install docs + $(install_dir) debian/tmp/usr/share/doc/$(package)/ + $(install_file) debian/changelog \ + debian/tmp/usr/share/doc/$(package)/changelog.Debian + $(install_file) debian/copyright debian/tmp/usr/share/doc/$(package)/ +ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) +ifeq ($(with_check),yes) + $(install_file) $$(pwd)/test-summary \ + debian/tmp/usr/share/doc/$(package)/ +endif +endif + $(install_file) binutils/NEWS debian/README.Debian \ + debian/tmp/usr/share/doc/$(package)/ + $(install_file) binutils/ChangeLog \ + debian/tmp/usr/share/doc/$(package)/changelog + for pkg in bfd gas gprof ld; do \ + $(install_dir) debian/tmp/usr/share/doc/$(package)/$$pkg; \ + done + $(install_file) bfd/ChangeLog bfd/PORTING bfd/TODO \ + debian/tmp/usr/share/doc/$(package)/bfd/ + $(install_file) gas/ChangeLog gas/NEWS \ + debian/tmp/usr/share/doc/$(package)/gas/ + $(install_file) gprof/ChangeLog gprof/TODO gprof/TEST \ + debian/tmp/usr/share/doc/$(package)/gprof/ + $(install_file) ld/ChangeLog ld/TODO ld/NEWS \ + debian/tmp/usr/share/doc/$(package)/ld/ + : # These only exist in H. J. Lu releases not GNU ones. + for dir in binutils bfd gas gprof ld; do \ + if [ -f $$dir/ChangeLog.linux ]; then \ + $(install_file) $$dir/ChangeLog.linux \ + debian/tmp/usr/share/doc/$(package)/$$dir/; \ + fi; \ + done + : # Copy bbconv.pl to the doc dir for use by interested people + $(install_file) gprof/bbconv.pl \ + debian/tmp/usr/share/doc/$(package)/gprof/. + : # Compress stuff that needs it + gzip -9 debian/tmp/usr/share/man/man1/* + find debian/tmp/usr/share/doc/$(package)/ -type f ! -name copyright \ + -a ! -name bbconv.pl | xargs gzip -9 + : # Finish it all up + find debian/tmp -type f | xargs file | grep ELF | cut -d: -f 1 | \ + xargs dpkg-shlibdeps + dpkg-gencontrol -isp $(CONFLICTS) + chown -R root:root debian/tmp + chmod -R go=rX debian/tmp + dpkg --build debian/tmp .. + + +binary: binary-indep binary-arch + + +clean: unpatch + $(checkdir) + -rm -rf debian/tmp builddir + -find . -name \*.gmo -o -name \*~ -o -name \*.info | xargs rm -f + -rm -f $$(pwd)/test-summary* + -rm -fr debian/patched debian/files* debian/substvars + -rm -f *-stamp + + +define checkdir + test -f bfd/elf32.c -a -f debian/rules +endef + + +checkroot: + $(checkdir) + test root = "`whoami`" + + +.PHONY: binary clean checkroot