Try this debian/rules file.

#!/usr/bin/make -f
# -*- makefile -*-

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

export CPPFLAGS=$(shell dpkg-buildflags --get CPPFLAGS)
export CFLAGS=$(shell dpkg-buildflags --get CFLAGS)
export CXXFLAGS=$(shell dpkg-buildflags --get CXXFLAGS)
export LDFLAGS=$(shell dpkg-buildflags --get LDFLAGS)

# 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)
ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
else
CROSS= --build $(DEB_BUILD_GNU_TYPE)
endif

CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)

config.status: config.status-stamp configure
config.status-stamp:
        dh_testdir
        # Make build dir for ngspice
        mkdir -p build/ngspice
        cp -Rl `ls . |grep -v build|grep -v debian` build/ngspice
        cp -f /usr/share/misc/config.sub build/ngspice/config.sub
        cp -f /usr/share/misc/config.guess build/ngspice/config.guess
        #cp -f /usr/share/misc/config.sub build/ngspice/doc/config.sub
        #cp -f /usr/share/misc/config.guess build/ngspice/doc/config.guess
        cp -a manual build/
        # Make build dir for tclspice
        mkdir -p build/tclspice
        cp -Rl `ls . |grep -v build|grep -v debian` build/tclspice
        cp -f /usr/share/misc/config.sub build/tclspice/config.sub
        cp -f /usr/share/misc/config.guess build/tclspice/config.guess
        # Configure ngspice
        (cd build/ngspice;\
        CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" CXXFLAGS="$(CXXFLAGS)" 
LDFLAGS="$(LDFLAGS)" \
        ./configure $(CROSS) \
                --prefix=/usr \
                --mandir=\$${prefix}/share/man \
                --enable-maintainer-mode \
                --with-editline=yes \
                --enable-xspice \
                --enable-cider \
                --disable-debug)
        # Configure tclspice
        (cd build/tclspice;\
        CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" CXXFLAGS="$(CXXFLAGS)" 
LDFLAGS="$(LDFLAGS) -lBLT -ltcl8.6" \
        ./configure $(CROSS) \
                --prefix=/usr \
                --mandir=\$${prefix}/share/man \
                --libdir=/usr/lib/tcltk \
                --enable-shared=yes \
                --enable-maintainer-mode \
                --with-editline=no \
                --enable-xspice \
                --enable-cider \
                --disable-debug \
                --disable-x \
                --with-tcl=/usr/lib/tcl8.6)
        touch $@

build: build-arch build-indep

build-arch: config.status 
        dh_testdir
        cd build/ngspice && $(MAKE)
        cd build/tclspice && $(MAKE)
        touch $@

build-indep: config.status
        # Build documentation
        dh_testdir
        #cd build/manual && lyx --export ps manual.lyx 
        cd build/manual ; mkdir "./.lyx" ; lyx -userdir "./.lyx" -batch 
--export pdf2 manual.lyx ; rm -rf "./.lyx"
        cd build/manual ; mkdir "./.lyx" ; lyx -userdir "./.lyx" -batch 
--export html manual.lyx ; rm -rf "./.lyx"
        touch $@

clean:
        dh_testdir
        dh_testroot
        rm -f build-stamp 
        rm -f config.status-stamp
        rm -rf build
        rm -f src/frontend/parse-bison.c
        rm -f src/frontend/parse-bison.h
        rm -f config.guess
        rm -f config.sub
        rm -f *-indep *-arch
        dh_clean 

install-arch: build-arch
        dh_testdir
        dh_testroot
        dh_prep
        dh_installdirs

        # Make ngspice and tclspice
        # tclspice must be installed prior to ngspice. Some files will be 
overwritten by ngspice
        # but the ngspice are the correct ones.
        cd build/tclspice && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install 
        cd build/ngspice && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
        # The code mode were stripped but change since version 25
        #ifneq ("nostrip","$(findstring nostrip,$(DEB_BUILD_OPTIONS))")
        #strip $(CURDIR)/debian/tmp/usr/lib/ngspice/*.cm
        #strip $(CURDIR)/debian/tmp/usr/lib/tcltk/ngspice/*.cm
        #endif

        # Remove empty dirs:
        find $(CURDIR)/debian/tclspice -type d -empty -delete
        touch $@

install-indep: build-indep
        # Documentation for ngspice, the same as for tclspice
        mkdir -p $(CURDIR)/debian/tmp/usr/share/doc/ngspice-doc/html
        cp -a $(CURDIR)/build/manual/manual.html.LyXconv/* \
                $(CURDIR)/debian/tmp/usr/share/doc/ngspice-doc/html
        #install -o root -g root -m 644 build/manual/manual.ps \
        #       $(CURDIR)/debian/tmp/usr/share/doc/ngspice-doc/ngspice.ps
        install -o root -g root -m 644 build/manual/manual.pdf \
                $(CURDIR)/debian/tmp/usr/share/doc/ngspice-doc/ngspice.pdf
        # Removing /usr/share/info directory
        rm -rf $(CURDIR)/debian/tmp/usr/share/info
        chmod a-x $(CURDIR)/build/tclspice/examples/tclspice/*/*.tcl
        chmod a+x 
$(CURDIR)/build/tclspice/examples/tclspice/tcl-testbench*/tcl-testbench*.tcl \
                $(CURDIR)/build/tclspice/examples/tclspice/tcl/test_vectoblt.tcl
        mkdir -p build/ngspice/examples/xspice1/
        cp -a src/xspice/examples/* build/ngspice/examples/xspice1/
        find build/ngspice/examples/xspice1/ -name Makefile -exec rm -f {} \;
        find build/ngspice/examples/xspice1/ -type f -exec chmod a-x {} \;
        touch $@

# Build architecture-independent files here.
binary-indep: install-indep
        dh_testdir -i
        dh_testroot -i
        dh_installdocs -i
        dh_install -i --sourcedir=debian/tmp
        dh_installman -i
        dh_installexamples -i -pngspice-doc build/ngspice/examples/* -Xtclspice
        dh_installchangelogs ChangeLog -i
        dh_compress -i --exclude=.tcl --exclude=.cir
        dh_fixperms -i
        dh_installdeb -i
        dh_gencontrol -i
        dh_md5sums -i
        dh_builddeb -i

# Build architecture-dependent files here.
binary-arch: install-arch
        dh_testdir -a
        dh_testroot -a
        dh_installchangelogs ChangeLog -a
        dh_installdocs -pngspice contrib -XCOPYING -a
        dh_installdocs
        dh_installexamples -ptclspice build/tclspice/examples/tclspice/* -a
        dh_install --sourcedir=debian/tmp -a
        sed -i "/dependency_libs/ s/'.*'/''/" \
                "$(CURDIR)/debian/tclspice/usr/lib/tcltk/libspice.la"
        dh_installman -a
        dh_link -a
        dh_strip -a --exlude=.cm
        dh_compress -a --exclude=.tcl --exclude=.cir
        dh_fixperms -a
        dh_installdeb -a
        dh_shlibdeps -a
        dh_gencontrol -a
        dh_md5sums -a
        dh_builddeb -a

binary: binary-indep binary-arch

#DEB_UPSTREAM_VERSION := $(shell dpkg-parsechangelog | grep '^Version:' | sed 
-e 's/Version: \(.*\)-\(.*\)\.*/\1/')
get-orig-source:
        VER=$(shell dpkg-parsechangelog | sed -rne 's,^Version: 
([^-+~]+).*,\1,p'); \
        set -e;\
        wget -q 
http://sourceforge.net/projects/ngspice/files/ng-spice-rework/$$VER/ngspice-$$VER.tar.gz;
 \
        tar xzf ngspice-$$VER.tar.gz --exclude=CVS --exclude=xgraph; \
        rm -f ngspice-$$VER/config.sub ;\
        rm -f ngspice-$$VER/config.guess ;\
        rm -rf ngspice-$$VER/examples/TransImpedanceAmp ;\
        rm -rf ngspice-$$VER/examples/tclspice\tcl-testbench3 ;\
        tar czf ngspice_$$VER.orig.tar.gz ngspice-$$VER; \
        rm -f ngspice-$$VER.tar.gz; \
        rm -rf ngspice-$$VER; \
        wget -q 
http://sourceforge.net/projects/ngspice/files/ng-spice-rework/$$VER/ngspice-doc-$$VER.tar.gz;
 \
        tar xzf ngspice-doc-$$VER.tar.gz --exclude=\*.pdf; \
        mv ngspice-doc-$$VER ngspice-$$VER; \
        tar czf ngspice_$$VER.orig-manual.tar.gz ngspice-$$VER; \
        rm -f ngspice-doc-$$VER.tar.gz; \
        rm -rf ngspice-$$VER
#       find ${DIRNAME} -name .cvsignore -exec rm -f {} \; ;\

.PHONY: build clean binary-indep binary-arch binary install 
-- 
debian-science-maintainers mailing list
debian-science-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-science-maintainers

Reply via email to