Imported Debian patch 2.9.0-5
[debian/cc1111] / debian / rules
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..62de2ca
--- /dev/null
@@ -0,0 +1,142 @@
+#!/usr/bin/make -f
+
+include /usr/share/quilt/quilt.make
+export DH_VERBOSE=1
+
+# 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)
+
+export HOME=$(CURDIR)/build
+
+ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
+       CFLAGS += -g -O0
+       export STRIP=true
+endif
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+       INSTALL_PROGRAM += -s
+endif
+
+clean: clean-patched unpatch
+clean-patched:
+       dh_testdir
+       dh_testroot
+       # Clean up files that Makefile should have cleaned
+       rm -rf $(CURDIR)/build
+       rm -f support/cpp/configargs.h,.log
+       rm -f support/cpp/config.log
+       rm -f support/cpp/config.status
+       rm -f sim/ucsim/config.guess
+       rm -f sim/ucsim/config.sub
+       rm -f sim/ucsim/config.status
+       rm -f sim/ucsim/config.log
+       rm -f config.log
+       rm -f device/lib/small-stack-auto/Makefile
+       rm -f as/link/asxxxx_config.h
+       rm -f device/lib/large/*.asm
+       rm -f device/lib/medium/*.asm
+       rm -f device/lib/small/*.asm
+       rm -f device/lib/small-stack-auto/*.asm
+       rm -f support/cpp/configargs.h
+       find -type f -name '*.o' -exec rm -f {} \;
+       find -type f -name '.stamp' -exec rm -f {} \;
+       find . -name '*.rel' -exec rm -f {} \;
+       #find 'device/lib/{small*,large,medium}' -name *.asm -exec rm -f {} \;
+       find . -name '*.sym' -exec rm -f {} \;
+       find . -name '*.lst' -exec rm -f {} \;
+       # Clean up the Debian specific files
+       rm -f config.status doc/sdccman.ps
+       rm -f build-stamp configure-stamp install-arch-stamp install-indep-stamp install-stamp
+       rm -f as/link/lk_readnl.c       # Remove in next version
+       rm -f as/link/lk_readnl.h       # Remove in next version
+       [ ! -f Makefile ] || $(MAKE) distclean
+       dh_clean
+
+configure: configure-stamp
+configure-stamp: $(QUILT_STAMPFN)
+       dh_testdir
+       mkdir -p $(CURDIR)/build
+       cp /usr/share/misc/config.sub sim/ucsim/config.sub
+       cp /usr/share/misc/config.guess sim/ucsim/config.guess
+       cp debian/lk_readnl.h as/link/lk_readnl.h       # Remove in next version
+       cp debian/lk_readnl.c as/link/lk_readnl.c       # Remove in next version
+       ./configure \
+               --host=$(DEB_HOST_GNU_TYPE) \
+               --build=$(DEB_BUILD_GNU_TYPE) \
+               --prefix=/usr
+       touch $@
+
+build: build-stamp
+build-stamp:  configure-stamp
+       dh_testdir
+       $(MAKE)
+       cd doc && lyx -e ps sdccman.lyx
+       touch $@
+
+install: install-stamp
+install-stamp: build
+       dh_testdir
+       dh_testroot
+       dh_installdirs 
+       dh_prep
+       $(MAKE) install prefix=$(CURDIR)/debian/tmp/usr
+       mkdir -p debian/tmp/usr/share/doc/sdcc-doc
+       install -o root -g root -m 644 doc/sdccman.ps debian/tmp/usr/share/doc/sdcc-doc
+       mv debian/tmp/usr/share/doc/sdcc/* debian/tmp/usr/share/doc/sdcc-doc/
+       rm -f debian/tmp/usr/share/doc/sdcc-doc/z80/combined_i186_z80_design.tex
+       rm -f debian/tmp/usr/share/doc/sdcc-doc/z80/Makefile
+       # Add some scripts
+       mkdir -p debian/tmp/usr/share/sdcc/scripts
+       install -o root -g root -m 755  support/scripts/inc2h-pic16.pl debian/tmp/usr/share/sdcc/scripts
+       install -o root -g root -m 755  support/scripts/inc2h.pl       debian/tmp/usr/share/sdcc/scripts
+       install -o root -g root -m 755  support/scripts/keil2sdcc.pl   debian/tmp/usr/share/sdcc/scripts
+
+       #Remove extra license file
+       rm -f $(CURDIR)/debian/tmp/usr/share/sdcc/lib/src/pic16/COPYING
+       # Remove empty dirs:
+       find $(CURDIR)/debian/tmp -type d -empty -delete
+
+       #Clean up unnecessary directories
+       rm -rf `find $(CURDIR)/debian/tmp -type d -name .deps`
+
+       dh_install --sourcedir=debian/tmp
+
+
+       mkdir -p $(CURDIR)/debian/sdcc-libraries/usr/share/lintian/overrides/
+       install -p -o root -g root -m 644 $(CURDIR)/debian/sdcc-libraries.overrides \
+               $(CURDIR)/debian/sdcc-libraries/usr/share/lintian/overrides/sdcc-libraries
+       # Install examples
+       cp -a device/examples $(CURDIR)/debian/sdcc-doc/usr/share/doc/sdcc-doc
+       touch $@
+
+# Must not depend on anything. This is to be called by binary-arch/binary-indep
+# in another 'make' thread.
+binary-common:
+       dh_testdir
+       dh_testroot
+       dh_installchangelogs ChangeLog
+       dh_installdocs
+       dh_installman
+       #dh_installexamples -psdcc-doc device/examples/* -X\.bat  
+       dh_installemacsen
+       dh_link
+       dh_strip -Xusr/share/sdcc/lib/
+       dh_compress 
+       dh_fixperms
+       dh_installdeb
+       dh_shlibdeps
+       dh_gencontrol
+       dh_md5sums
+       dh_builddeb
+
+# Build architecture-independent files here.
+binary-indep: install
+       $(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
+
+# Build architecture-dependent files here.
+binary-arch: install
+       $(MAKE) -f debian/rules DH_OPTIONS=-s binary-common
+
+binary: binary-arch binary-indep
+.PHONY: build clean binary-indep binary-arch binary install install-arch install-indep