#!/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 \ --disable-avr-port \ --disable-ds390-port \ --disable-ds400-port \ --disable-gbz80-port \ --disable-hc08-port \ --enable-mcs51-port \ --disable-pic-port \ --disable-pic16-port \ --disable-xa51-port \ --disable-z80-port \ --disable-z80-port 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/cc1111 install -o root -g root -m 644 doc/sdccman.ps debian/tmp/usr/share/doc/cc1111 mv debian/tmp/usr/share/doc/sdcc/* debian/tmp/usr/share/doc/cc1111/ # 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/cc1111/usr/share/lintian/overrides/ install -p -o root -g root -m 644 $(CURDIR)/debian/cc1111.overrides \ $(CURDIR)/debian/cc1111/usr/share/lintian/overrides/cc1111 # Install examples cp -a device/examples $(CURDIR)/debian/cc1111/usr/share/doc/cc1111 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_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