X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=debian%2Frules;fp=debian%2Frules;h=62de2ca1ddcecf6840b8408c0b08594081f6bb59;hb=c487d438992756cdb963f0ab4f2d02eec924d678;hp=0000000000000000000000000000000000000000;hpb=ffff724266878ec471ae57e4184c05d3eec1adae;p=debian%2Fcc1111 diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..62de2ca --- /dev/null +++ b/debian/rules @@ -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