#!/usr/bin/make -f #export DH_VERBOSE = 1 # the code does not compile with -std=gnu23 which is gcc-15 default export DEB_CFLAGS_MAINT_APPEND = -std=gnu17 ifndef PERL PERL = /usr/bin/perl endif %: dh $@ override_dh_autoreconf: -dh_autoreconf override_dh_auto_configure: dh_auto_configure -- --with-pgplot-link="-lpgplot" override_dh_auto_build: build-ifeffit build-perl build-docs build-ifeffit: dh_testdir $(MAKE) touch $@ # Configure and build Perl extensions. This must be done # AFTER the main package is built build-perl: build-ifeffit dh_testdir # Here is the kludge to avoid the rpath lintian warning # cp debian/Makefile.PL wrappers/perl/ cd wrappers/perl && \ $(PERL) Makefile.PL INSTALLDIRS=vendor && \ $(MAKE) touch $@ build-docs: dh_testdir mkdir tmp_docs cp -a examples tmp_docs find tmp_docs/examples -executable -type f -exec chmod 0644 {} \; rm -rf tmp_docs/examples/scripting # Generate PDF documentation from postscript files. Note that the # postcript documentation needs to be refreshed occasionally using the # 'get-docs' rule. This avoids the need for the buildds to download them # at build time and risk failing if they are not available. mkdir tmp_docs/pdf ps2pdf debian/feffit.ps tmp_docs/pdf/feffit.pdf ; \ ps2pdf debian/autobk.ps tmp_docs/pdf/autobk.pdf ; \ ps2pdf debian/diffkk.ps tmp_docs/pdf/diffkk.pdf ; \ ps2pdf debian/feff6.ps tmp_docs/pdf/feff6.pdf ; \ cd doc/Tutorial && make pdf && \ mv tutor.pdf ../../tmp_docs/pdf/ifeffit_tutorial.pdf cd doc/RefMan && make pdf && \ mv refman.pdf ../../tmp_docs/pdf/ifeffit_reference.pdf touch $@ override_dh_auto_clean: dh_auto_clean rm -f build-ifeffit build-perl build-docs [ ! -f Makefile ] || $(MAKE) distclean # Clean up any config leftovers in original tarball which have been # regenerated during build so they don't appear in the diff.gz rm -f wrappers/perl/Makefile.PL rm -f wrappers/perl/Makefile rm -f wrappers/perl/pm_to_blib rm -f wrappers/python/site_install.py rm -f wrappers/tcl/TclSetup.in rm -f readline/config.log rm -f readline/config.status rm -f readline/stamp-h rm -f readline/config.h rm -f readline/Makefile rm -f readline/doc/Makefile rm -f readline/shlib/Makefile rm -f readline/examples/Makefile rm -f configure.in.save # Restore saved configuration files if they exist to minimize diffs ifneq "$(wildcard config.sub.save)" "" mv config.sub.save config.sub endif ifneq "$(wildcard config.guess.save)" "" mv config.guess.save config.guess endif # Clean up PDF downloaded documents rm -rf tmp_docs cd doc/Tutorial && make clean && rm -f *.bak cd doc/RefMan && make clean && rm -f *.bak # Clean up Python extensions rm -rf wrappers/python/*.pyc rm -rf wrappers/python/build rm -rf build # Clean up Perl extensions rm -rf wrappers/perl/blib rm -rf wrappers/perl/pm-to-blib rm -rf wrappers/perl/*.o rm -rf wrappers/perl/*.bs rm -rf wrappers/perl/Makefile dh_clean override_dh_auto_install: install-ifeffit install-perl install-ifeffit: $(MAKE) install prefix=$(CURDIR)/debian/ifeffit/usr # Install Perl extensions into debian/libifeffit-perl. install-perl: # Strip RPATH from Ifeffit.so before installing chrpath -d wrappers/perl/blib/arch/auto/Ifeffit/Ifeffit.so # old syntax, should be replaced as below... # cd wrappers/perl && $(MAKE) install \ # PREFIX=$(CURDIR)/debian/libifeffit-perl/usr INSTALLDIRS=vendor cd wrappers/perl && $(MAKE) install \ DESTDIR=$(CURDIR)/debian/libifeffit-perl/ INSTALLDIRS=vendor # The Makefile in wrappers/perl seems to be malformed and does not # install Ifeffit.pm in /usr/share/perl5. We shall do it by hand ... dh_install --package=libifeffit-perl wrappers/perl/Ifeffit.pm \ usr/share/perl5/ # In fact, sometimes it puts them in /usr/lib/perl5 along with # ifeffit_shell.pl and test_a.pl which we don't want for the pacakge. # So get rid of 'em! rm -f $(CURDIR)/debian/libifeffit-perl/usr/lib/perl5/Ifeffit.pm rm -f $(CURDIR)/debian/libifeffit-perl/usr/lib/perl5/ifeffit_shell.pl rm -f $(CURDIR)/debian/libifeffit-perl/usr/lib/perl5/test_a.pl # Ensure sane minimum permissions chmod -R u+rwX $(CURDIR)/debian/libifeffit-perl/ override_dh_compress: dh_compress --exclude=.pdf --exclude=.iff --exclude=.dat \ --exclude=.chi --exclude=.xmu --exclude=.inp --exclude=.out \ --exclude=.sav --exclude=.py --exclude=LIST --exclude=AA -i