#!/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=4
+host_arch := $(shell dpkg-architecture -qDEB_HOST_ARCH)
pkg := ctsim
+pkg-p4 := ctsim-pentium4
+pkg-p3 := ctsim-pentium3
+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-p3 := debian/$(pkg-p3)
+prefix-athlon := debian/$(pkg-athlon)
prefix-help := debian/$(pkg-help)
prefix-doc := debian/$(pkg-doc)
DESTDIR := `pwd`/$(prefix)
-HELPDIR := `pwd`/$(prefix-help)/usr/share/ctsim
+DESTDIR-P4 := `pwd`/$(prefix-p4)
+DESTDIR-P3 := `pwd`/$(prefix-p3)
+DESTDIR-ATHLON := `pwd`/$(prefix-athlon)
+HELPDIR := `pwd`/$(prefix-help)/$(ctsim-shared)
doc-dir := usr/share/doc/$(pkg-doc)
pixmap-dir := usr/X11R6/include/X11/pixmaps
+
configure: configure-stamp
configure-stamp:
dh_testdir
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) all
- touch build-stamp
+ 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
+
+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 {} \;
rm -f debian/ctsim.postinst.* debian/ctsim.prerm.*
dh_clean
+install: DH_OPTIONS=
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
- # Below command also installs helpfile, man pages
+ #
+ 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 3
+ ${MAKE} clean
+ ./configure --prefix=$(DESTDIR-P3)/usr --mandir=$(DESTDIR-P3)/usr/share/man --datadir=$(HELPDIR) --with-ctn --with-mcpu=pentium3
+ $(MAKE) all
${MAKE} install
+ # 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-p3) $(pixmap-dir)
+ dh_installdirs -p $(pkg-p4) $(pixmap-dir)
+ dh_installdirs -p $(pkg-athlon) $(pixmap-dir)
+ dh_install -p $(pkg-p3) debian/ctsim.xpm $(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 -A
- 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-p3) tools/sample-ctsim.sh helical/sample-helical.sh
+ 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