#!/usr/bin/make -f # debian/rules file - for gcc 3.2.3 with mspgcc patches # 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 package = $(TARGET)-gcc version := $(shell head -1 debian/changelog | sed -e s'|^.*(\(.*\)-.*).*$$|\1|') CC = gcc CFLAGS = -g -O2 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS = -g -O0 endif 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 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 \ --enable-languages=c,c++ --with-pkgversion="MSPGCC4_$(version)" 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 find buildir -name "*.sum" -exec cat "{}" ";" >> $$(pwd)/test-summary @-[ -x /usr/bin/python ] \ && echo "Test results, compared with installed gcc:" \ && zcat /usr/share/doc/gcc-4.2/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 ifeq ($(with_strip),yes) find debian/tmp -type f | xargs file | grep "ELF.*executable" | \ cut -f 1 -d : | xargs $(STRIP) 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/gcc.postinst debian/tmp/DEBIAN/postinst $(install_script) debian/gcc.postrm debian/tmp/DEBIAN/postrm : # $(install_file) debian/gcc.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) COPYING COPYING.LIB MAINTAINERS README \ debian/README.Debian debian/tmp/usr/share/doc/$(package)/ $(install_file) ChangeLog debian/tmp/usr/share/doc/$(package)/changelog : # Remove unnecessary files installed rm -rf debian/tmp/usr/info debian/tmp/usr/lib/libiberty.a \ debian/tmp/usr/share/man/man7 : # Create links from usr/bin/msp430- to usr/msp430/bin/ $(install_dir) debian/tmp/usr/$(TARGET)/bin/ (cd debian/tmp/usr/bin && ls $(TARGET)-*) | \ sed -e 's?\([^-]*\)-\(.*\)$$?\1-\2 \2?' | \ while read line; do \ set $$line; \ ln -sf ../../bin/$$1 debian/tmp/usr/$(TARGET)/bin/$$2; \ done : # Compress stuff that needs it gzip -9 debian/tmp/usr/share/man/man1/* find debian/tmp/usr/share/doc/$(package)/ -type f ! -name copyright | \ 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 gcc/_gccver.h -rm -fr mpfr/autom4te.cache/ -rm -f *-stamp define checkdir test -f gcc/config.gcc -a -f debian/rules endef checkroot: $(checkdir) test root = "`whoami`" .PHONY: binary clean checkroot