#!/usr/bin/make -f # Sample debian/rules that uses debhelper. # GNU copyright 1997 by Joey Hess. # GNU copyright 2024 Camm Maguire # # This version is for a hypothetical package that builds an # architecture-dependant package, as well as an architecture-independent # package. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 #export GCL_MEM_MULTIPLE=0.1 # This has to be exported to make some magic below work. export DH_OPTIONS # This is the debhelper compatability version to use. ARCHT:=$(shell dpkg-architecture -qDEB_HOST_ARCH) MCC?=gcc # ifeq ($(ARCHT),alpha) # MCC:=gcc-4.6 # endif CFLAGS_APPEND?= #ifeq ($(ARCHT),ppc64) #CFLAGS_APPEND:=$(CFLAGS_APPEND) -O1 #endif DEBUG?= #ifeq ($(ARCHT),hppa) #DEBUG=--enable-debug #endif VERS=$(shell echo $$(cat majvers).$$(cat minvers)) EXT=$(shell echo $(VERS) | sed 's,\([0-9]\)\.\([0-9]\)\..*,\1\2,') debian/elpa-gcl$(EXT).elpa: debian/gcl$(EXT)-pkg.el find elisp -name "*.el" >$@ # echo debian/gcl$(EXT).el >> debian/elpa-gcl$(EXT).elpa echo debian/gcl$(EXT)-pkg.el >> debian/elpa-gcl$(EXT).elpa echo debian/debian-autoloads.el >> debian/elpa-gcl$(EXT).elpa VR:=$(shell awk '{if (i) next;i=1;a=$$2;gsub("[()]","",a);split(a,A,"-");print A[1];}' debian/changelog) debian/gcl$(EXT)-pkg.el: debian/gcl-pkg.el.in cat $< | sed "s,@VR@,$$(echo $(VR) | sed 's,[a-zA-Z]*,,g'),g" | sed "s,@EXT@,$(EXT),g" > $@ configure-stamp: dh_testdir eval `dpkg-buildflags --export=sh` && CC=$(MCC) CFLAGS="$$CFLAGS $(CFLAGS_APPEND)" ./configure \ --host=$$(dpkg-architecture -qDEB_HOST_GNU_TYPE) \ $(DEBUG) \ --prefix=/usr \ --mandir=\$${prefix}/share/man \ --enable-infodir=\$${prefix}/share/info \ --enable-emacsdir=\$${prefix}/share/emacs/site-lisp touch $@ build-stamp: configure-stamp dh_testdir PEXT=${EXT} $(MAKE) touch $@ build: build-arch build-indep build-arch: build-stamp build-indep: build-stamp touch $@ install-stamp: build-stamp dh_testdir dh_testroot dh_prep PEXT=${EXT} $(MAKE) install DESTDIR=$$(pwd)/debian/tmp touch $@ debian/control: debian/control_$(EXT) cp $< $@ clean: debian/control debian/gcl.templates dh_testdir dh_testroot rm -f *stamp debconf-updatepo $(MAKE) clean dh_clean rm -rf debian/gprof debian/ansi-gprof debian/trad debian/ansi $(INS) debian/substvars debian.upstream rm -rf *stamp build-indep rm -f debian/elpa-gcl$(EXT).elpa debian/gcl$(EXT)-pkg.el INS:=$(shell for i in `find debian -name "in.*"` ; do \ echo $$i | sed 's,in.,,1' ; \ done |\ sed "s,\([^x]gcl\),\1$(EXT),g") gcl$(EXT)% : in.gcl% cat $< | sed 's,@EXT@,$(EXT),g' >$@ install: DH_OPTIONS:= install: install-stamp debian/control $(INS) dh_installdirs rm -rf debian/tmp/usr/lib/gcl-$(VERS)/info dh_install mkdir -p debian/gcl$(EXT)-tk/usr/lib/gcl-$(VERS)/ mv debian/gcl$(EXT)/usr/lib/gcl-$(VERS)/gcl-tk debian/gcl$(EXT)-tk/usr/lib/gcl-$(VERS)/ mkdir -p debian/gcl$(EXT)-tk-doc/usr/share/doc/gcl$(EXT)/ mv debian/gcl$(EXT)-doc/usr/share/doc/gcl$(EXT)/gcl$(EXT)-tk_html debian/gcl$(EXT)-tk-doc/usr/share/doc/gcl$(EXT)/ # Build architecture-independent files here. # Pass -i to all debhelper commands in this target to reduce clutter. binary-indep: DH_OPTIONS:=-i binary-indep: build install debian/elpa-gcl$(EXT).elpa dh_testdir dh_testroot dh_elpa dh_installdocs dh_installinfo dh_installchangelogs ChangeLog dh_link dh_compress dh_fixperms dh_installdeb dh_gencontrol dh_md5sums dh_builddeb binary-arch: DH_OPTIONS=-a binary-arch: build install #debian/substvars dh_testdir dh_testroot dh_installdocs -XRELEASE-2.6.2.html dh_installdebconf sed -i -e 's,@EXT@,$(EXT),g' debian/gcl$(EXT)/DEBIAN/templates dh_installchangelogs ChangeLog dh_strip -Xlibgcl -Xlibansi_gcl -Xlibgcl_gprof -Xlibansi_gcl_gprof dh_lintian dh_link dh_compress dh_fixperms dh_installdeb dh_shlibdeps dh_gencontrol -u"-Vgcc=$(MCC)" dh_md5sums dh_builddeb binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install configure .PRECIOUS: configure-trad-stamp configure-ansi-stamp configure-gprof-stamp configure-ansi-gprof-stamp