r10662: new upstream: 4.4.0. Changes to support X.org
[ctsim.git] / debian / rules
index 432e18a03ea4b1bcb3b688f92cee87127cac1da9..21d0499f8c9a4043efc41fdb995065bda97a0076 100755 (executable)
 #!/usr/bin/make -f
-# Sample debian/rules that uses debhelper.
-# GNU copyright 1997 to 1999 by Joey Hess.
 
-# Uncomment this to turn on verbose mode.
-export DH_VERBOSE=1
+ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
+       CFLAGS += -g
+endif
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+       INSTALL_PROGRAM += -s
+endif
 
-# This is the debhelper compatibility version to use.
-export DH_COMPAT=3
+host_arch      := $(shell dpkg-architecture -qDEB_HOST_ARCH)
 
-pkg    := ctsim
-prefix := debian/$(pkg)
-DESTDIR := `pwd`/$(prefix)
+pkg            := ctsim
+pkg-p4         := ctsim-pentium4
+pkg-athlon     := ctsim-athlon
+pkg-help       := ctsim-help
+pkg-doc                := ctsim-doc
+
+ctsim-shared   := usr/share/ctsim
+
+prefix         := debian/$(pkg)
+prefix-p4      := debian/$(pkg-p4)
+prefix-athlon  := debian/$(pkg-athlon)
+prefix-help    := debian/$(pkg-help)
+prefix-doc     := debian/$(pkg-doc)
+
+DESTDIR                := `pwd`/$(prefix)
+DESTDIR-P4     := `pwd`/$(prefix-p4)
+DESTDIR-ATHLON := `pwd`/$(prefix-athlon)
+HELPDIR                := `pwd`/$(prefix-help)/$(ctsim-shared)
+doc-dir                := usr/share/doc/$(pkg-doc)
+pixmap-dir     := usr/share/pixmaps
 
-INSTALL        := install
-INSTALLFLAGS   := -g root -o root -m 0644
-INSTALLDIRFLAGS        := -d -g root -o root -m 0755
 
 configure: configure-stamp
 configure-stamp:
        dh_testdir
-       # Add here commands to configure the package.
-       ./configure --prefix=$(DESTDIR)/usr --mandir=$(DESTDIR)/usr/share/man
-       touch configure-stamp
+       touch configure.in && touch aclocal.m4 && touch configure
 
+       ./configure --prefix=$(DESTDIR)/usr --mandir=$(DESTDIR)/usr/share/man --datadir=$(HELPDIR) --with-ctn -with-x
+       touch configure-stamp
 
-build: build-stamp
 
-build-stamp: configure-stamp 
+build-arch: configure-stamp build-arch-stamp
+build-arch-stamp:
        dh_testdir
-
        # Add here commands to compile the package.
-       $(MAKE) 
-       #/usr/bin/docbook-to-man debian/uffi.sgml > uffi.1
+       $(MAKE) all
+       touch build-arch-stamp
+
+build-indep: configure-stamp  build-indep-stamp
+build-indep-stamp:
+       dh_testdir
+       # Add here command to compile/build the arch indep package.
+       # It's ok not to do anything here, if you don't need to build
+       #  anything for this package.
+       #/usr/bin/docbook-to-man debian/#PACKAGE#.sgml > #PACKAGE#.1
+       (cd docs; tar xzf html.tar.gz)
+       touch build-indep-stamp
 
-       touch build-stamp
+build: build-arch build-indep
 
 clean:
        dh_testdir
        dh_testroot
-       rm -f build-stamp configure-stamp
-
+       rm -f build-arch-stamp build-indep-stamp configure-stamp
        # Add here commands to clean up after the build process.
        -$(MAKE) distclean
-       find . -type f -and -name *~ -or -name .*~ -exec rm -f {} \;
+       find . -type f -and -name \*~ -or -name .\*~ -exec rm -f {} \;
        rm -f debian/ctsim.postinst.* debian/ctsim.prerm.*
-
+       # Ensure up-to-date versions of config.sub and config.guess
+       -test -r /usr/share/misc/config.sub && cp -f /usr/share/misc/config.sub config.sub
+       -test -r /usr/share/misc/config.guess && cp -f /usr/share/misc/config.guess config.guess
        dh_clean
 
+install: DH_OPTIONS=
 install: build
        dh_testdir
        dh_testroot
        dh_clean -k
        dh_installdirs
-
-       # Add here commands to install the package into debian/ctsim.
-       # install ${INSTALLDIRFLAGS} 
+       #
+       dh_installdirs -p $(pkg-help) $(ctsim-shared)
+       ${MAKE} install
+       # Testing for i386 optimized builds
+       echo Host architecture is $(host_arch)
+ifneq (,$(findstring i386,$(host_arch)))
+       # Building CPU-specific i386 flavors
+       # Pentium 4
+       ${MAKE} clean
+       ./configure --prefix=$(DESTDIR-P4)/usr --mandir=$(DESTDIR-P4)/usr/share/man --datadir=$(HELPDIR) --with-ctn --with-mcpu=pentium4
+       $(MAKE) all
        ${MAKE} install
+       # Athlon
+       ${MAKE} clean
+       ./configure --prefix=$(DESTDIR-ATHLON)/usr --mandir=$(DESTDIR-ATHLON)/usr/share/man --datadir=$(HELPDIR) --with-ctn --with-mcpu=athlon
+       $(MAKE) all
+       ${MAKE} install
+       dh_installdirs -p $(pkg-p4) $(pixmap-dir)
+       dh_installdirs -p $(pkg-athlon) $(pixmap-dir)
+       dh_install -p $(pkg-p4) debian/ctsim.xpm $(pixmap-dir)
+       dh_install -p $(pkg-athlon) debian/ctsim.xpm $(pixmap-dir)
+endif
+       # Add here commands to install the package into debian/ctsim.
+       dh_installdirs -p $(pkg) $(pixmap-dir)
+       dh_install -p $(pkg) debian/ctsim.xpm $(pixmap-dir)
+       dh_install -p $(pkg-help) docs/ctsim.htb $(ctsim-shared)
+       dh_install -p $(pkg-doc) docs/html $(doc-dir)
+       dh_link -p $(pkg-doc) $(doc-dir)/html/$(pkg)_contents.html $(doc-dir)/html/index.html
+       gzip -9 docs/ctsim.pdf
+       dh_install -p $(pkg-doc) docs/ctsim.pdf.gz $(doc-dir)
+       gunzip docs/ctsim.pdf.gz
+       chmod +x helical/*.sh tools/*.sh
 
 # Build architecture-independent files here.
+# Pass -i to all debhelper commands in this target to reduce clutter.
 binary-indep: build install
-
-
+       dh_testdir -i
+       dh_testroot -i
+#      dh_installdebconf -i
+       dh_installdocs -i
+       dh_installexamples -i
+       dh_installmenu -i
+#      dh_installlogrotate -i
+#      dh_installemacsen -i
+#      dh_installpam -i
+#      dh_installmime -i
+#      dh_installinit -i
+       dh_installcron -i
+#      dh_installman -i
+       dh_installinfo -i
+#      dh_undocumented -i
+       dh_installchangelogs ChangeLog -i
+       dh_link -i
+       dh_compress -i
+       dh_fixperms -i
+       dh_installdeb -i
+#      dh_perl -i
+       dh_gencontrol -i
+       dh_md5sums -i
+       dh_builddeb -i
 
 # Build architecture-dependent files here.
 binary-arch: build install
-       dh_testdir
-       dh_testroot
-#      dh_installdebconf       
-#      dh_installdocs
-       dh_installexamples tools/sample-ctsim.sh helical/sample-helical.sh
-#      dh_installmenu
-#      dh_installlogrotate
-#      dh_installemacsen
-#      dh_installpam
-#      dh_installmime
-#      dh_installinit
-#      dh_installcron
-#      dh_installman
-#      dh_installinfo
-#      dh_undocumented
-       dh_installchangelogs ChangeLog
-#      dh_link
-       dh_strip
-       dh_compress
-       dh_fixperms
-#      dh_makeshlibs
-       dh_installdeb
-#      dh_perl
-#      dh_shlibdeps
-       dh_gencontrol
-       dh_md5sums
-       dh_builddeb
+       dh_testdir -a
+       dh_testroot -a
+#      dh_installdebconf -a
+       dh_installdocs -a
+       dh_installexamples -p $(pkg) tools/sample-ctsim.sh helical/sample-helical.sh
+ifneq (,$(findstring i386,$(host_arch)))
+       dh_installexamples -p $(pkg-p4) tools/sample-ctsim.sh helical/sample-helical.sh
+       dh_installexamples -p $(pkg-athlon) tools/sample-ctsim.sh helical/sample-helical.sh
+endif
+#      dh_installlogrotate -a
+#      dh_installemacsen -a
+#      dh_installpam -a
+#      dh_installmime -a
+#      dh_installinit -a
+#      dh_installcron -a
+#      dh_installman -a
+#      dh_installinfo -a
+#      dh_undocumented -a
+#      dh_makeshlibs -a
+#      dh_perl -a
+ifeq (,$(findstring i386,$(host_arch)))
+       dh_installchangelogs -p $(pkg)ChangeLog 
+       dh_strip -p $(pkg)
+       dh_link -p $(pkg)
+       dh_compress -p $(pkg)
+       dh_fixperms -p $(pkg)
+       dh_installmenu -p $(pkg)
+       dh_installdeb -p $(pkg)
+       dh_gencontrol -p $(pkg)
+       dh_shlibdeps -p $(pkg)
+       dh_md5sums -p $(pkg)
+       dh_builddeb -p $(pkg)
+else
+       dh_installchangelogs ChangeLog -a
+       dh_strip -a
+       dh_link -a
+       dh_compress -a
+       dh_fixperms -a
+       dh_installmenu -a
+       dh_installdeb -a
+       dh_gencontrol -a
+       dh_shlibdeps -a
+       dh_md5sums -a
+       dh_builddeb -a
+endif
 
 binary: binary-indep binary-arch
+
 .PHONY: build clean binary-indep binary-arch binary install configure