summaryrefslogtreecommitdiff
path: root/debian/rules
diff options
context:
space:
mode:
Diffstat (limited to 'debian/rules')
-rwxr-xr-xdebian/rules232
1 files changed, 232 insertions, 0 deletions
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..307567f
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,232 @@
+#!/usr/bin/make -f
+#
+# Based on the work by Marcus Brinkmann <brinkmd@debian.org>
+# Rewritten by Guillem Jover <guillem@debian.org>
+#
+
+FULL_VERSION := $(shell dpkg-parsechangelog | grep ^Version: | sed -e 's/^.*: //g')
+NOEPOCH_VERSION := $(shell echo $(FULL_VERSION) | sed -e 's/.*://g')
+TAR_VERSION := $(shell echo $(NOEPOCH_VERSION) | sed -e 's/-.*//g')
+VERSION := $(shell echo $(TAR_VERSION) | sed -e 's/\.dfsg.*//g')
+MAJOR := $(shell echo $(VERSION) | sed -e 's/\..*//g')
+DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
+
+
+MACHINE := 486
+
+pkg := gnumach-image-$(VERSION)-$(MACHINE)
+pkg_xen := gnumach-image-$(VERSION)-xen-$(MACHINE)
+pkg_udeb := kernel-image-$(VERSION)-$(MACHINE)-di
+pkg_xen_udeb := kernel-image-$(VERSION)-xen-$(MACHINE)-di
+pkg_dbg := gnumach-image-$(VERSION)-$(MACHINE)-dbg
+pkg_xen_dbg := gnumach-image-$(VERSION)-xen-$(MACHINE)-dbg
+pkg_common := gnumach-common
+pkg_dev := gnumach-dev
+
+D := $(CURDIR)/debian/tmp
+D_UDEB := $(D)-udeb
+D_XEN := $(D)-xen
+D_XEN_UDEB := $(D)-xen-udeb
+D_DBG := $(D)-dbg
+D_XEN_DBG := $(D)-xen-dbg
+
+DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+
+CFLAGS = -Wall -g -pipe -fno-strict-aliasing
+
+ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
+ CFLAGS += -O0
+else
+ CFLAGS += -O2
+endif
+
+drivers :=
+
+common_configure := \
+ CFLAGS="$(CFLAGS)" \
+ --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \
+ --prefix=/usr \
+ --exec-prefix=/
+
+configure: configure.ac
+ autoreconf -fi
+
+build/config.status: configure
+ dh_testdir
+
+ -mkdir build
+ cd build && ../configure $(drivers) \
+ $(common_configure)
+
+build-xen/config.status: configure
+ dh_testdir
+
+ -mkdir build-xen
+ cd build-xen && ../configure \
+ $(common_configure) \
+ --enable-platform=xen
+
+build-dbg/config.status: configure
+ dh_testdir
+
+ -mkdir build-dbg
+ cd build-dbg && ../configure --enable-kdb $(drivers) \
+ $(common_configure) \
+
+build-xen-dbg/config.status: configure
+ dh_testdir
+
+ -mkdir build-xen-dbg
+ cd build-xen-dbg && ../configure --enable-kdb \
+ $(common_configure) \
+ --enable-platform=xen
+
+build: build-gnumach-std build-gnumach-xen build-gnumach-dbg build-gnumach-xen-dbg
+
+build-gnumach-std: build/config.status
+ dh_testdir
+
+ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+ $(MAKE) -C build
+else
+ $(MAKE) -C build check
+endif
+
+build-gnumach-xen: build-xen/config.status
+ dh_testdir
+
+ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+ $(MAKE) -C build-xen
+else
+ $(MAKE) -C build-xen check
+endif
+
+build-gnumach-dbg: build-dbg/config.status
+ dh_testdir
+
+ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+ $(MAKE) -C build-dbg
+else
+ $(MAKE) -C build-dbg check
+endif
+
+build-gnumach-xen-dbg: build-xen-dbg/config.status
+ dh_testdir
+
+ifneq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
+ $(MAKE) -C build-xen-dbg
+else
+ $(MAKE) -C build-xen-dbg check
+endif
+
+clean:
+ dh_testdir
+
+ rm -f machine
+ rm -rf build build-xen build-dbg build-xen-dbg $(D_UDEB) $(D_XEN_UDEB) $(D_XEN) $(D_DBG) $(D_XEN_DBG)
+
+ # Clean up autogenerated cruft
+ rm -rf autom4te.cache build-aux
+ rm -f aclocal.m4 config.h.in configure INSTALL Makefile.in
+ find -name '*~' -o -name '*.rej' -o -name '*.orig' | xargs rm -f
+
+ rm -f debian/gnumach-image-*.preinst
+ rm -f debian/gnumach-image-*.prerm
+ rm -f debian/gnumach-image-*.postinst
+ rm -f debian/gnumach-image-*.postrm
+
+ dh_clean
+
+install: build
+ dh_testdir
+ dh_testroot
+ dh_prep -a
+ -rm -rf $(D_DBG)
+ dh_installdirs -a
+
+ $(MAKE) -C build install \
+ DESTDIR=$(D)
+
+ $(MAKE) -C build-xen install \
+ DESTDIR=$(D_XEN)
+
+ $(MAKE) -C build-dbg install-exec \
+ DESTDIR=$(D_DBG) \
+
+ $(MAKE) -C build-xen-dbg install-exec \
+ DESTDIR=$(D_XEN_DBG) \
+
+ mkdir -p $(D_UDEB)/boot
+ cp $(D)/boot/gnumach $(D_UDEB)/boot/
+ mv $(D)/boot/gnumach $(D)/boot/gnumach-$(VERSION)-$(MACHINE)
+ mkdir -p $(D_XEN_UDEB)/boot
+ cp $(D_XEN)/boot/gnumach $(D_XEN_UDEB)/boot/
+ mv $(D_XEN)/boot/gnumach $(D_XEN)/boot/gnumach-$(VERSION)-xen-$(MACHINE)
+ mv $(D_DBG)/boot/gnumach $(D_DBG)/boot/gnumach-$(VERSION)-$(MACHINE)-dbg
+ mv $(D_XEN_DBG)/boot/gnumach $(D_XEN_DBG)/boot/gnumach-$(VERSION)-xen-$(MACHINE)-dbg
+
+ifeq ($(DEB_HOST_ARCH_OS),hurd)
+ for script in preinst prerm postinst postrm ; do \
+ for prefix in "" -xen ; do \
+ for suffix in "" -dbg ; do \
+ sed -e "s/@VERSION@/$(VERSION)/g" \
+ -e "s/@RELEASE@/$(VERSION)$$prefix-$(MACHINE)$$suffix/g" \
+ debian/gnumach-image.$$script.in \
+ > debian/gnumach-image-$(VERSION)$$prefix-$(MACHINE)$$suffix.$$script ; \
+ done ; \
+ done ; \
+ done
+endif
+
+binary: binary-indep binary-arch
+
+binary-indep: install
+ dh_testdir
+ dh_testroot
+
+ dh_install -i --sourcedir=$(D)
+
+ dh_installdocs -i
+ dh_installchangelogs -i -k ChangeLog
+# dh_installinfo -a
+
+ dh_compress -i
+ dh_fixperms -i
+ dh_installdeb -i
+ dh_gencontrol -i
+ dh_md5sums -i
+ dh_builddeb -i
+
+binary-arch: install
+ dh_testdir
+ dh_testroot
+
+ dh_install -a -N$(pkg_udeb) -N$(pkg_xen) -N$(pkg_xen_udeb) -N$(pkg_dbg) -N$(pkg_xen_dbg) --sourcedir=$(D)
+ dh_install -p$(pkg_udeb) --sourcedir=$(D_UDEB)
+ dh_install -p$(pkg_xen) --sourcedir=$(D_XEN)
+ dh_install -p$(pkg_xen_udeb) --sourcedir=$(D_XEN_UDEB)
+ dh_install -p$(pkg_dbg) --sourcedir=$(D_DBG)
+ dh_install -p$(pkg_xen_dbg) --sourcedir=$(D_XEN_DBG)
+
+ dh_installdocs -a
+ dh_installchangelogs -a -k ChangeLog
+
+ dh_link -a
+ dh_strip -a -N$(pkg_dbg) -N$(pkg_xen_dbg)
+ dh_compress -a -N$(pkg) -N$(pkg_udeb) -N$(pkg_xen) -N$(pkg_xen_udeb) -N$(pkg_dbg) -N$(pkg_xen_dbg)
+ dh_compress -p$(pkg) boot/gnumach-$(VERSION)-$(MACHINE)
+ dh_compress -p$(pkg_udeb) boot/gnumach
+ dh_compress -p$(pkg_xen) boot/gnumach-$(VERSION)-xen-$(MACHINE)
+ dh_compress -p$(pkg_xen_udeb) boot/gnumach
+ dh_compress -p$(pkg_dbg) boot/gnumach-$(VERSION)-$(MACHINE)-dbg
+ dh_compress -p$(pkg_xen_dbg) boot/gnumach-$(VERSION)-xen-$(MACHINE)-dbg
+ dh_fixperms -a
+ dh_installdeb -a
+ dh_gencontrol -a
+ dh_md5sums -a
+ dh_builddeb -a
+
+.PHONY: build build-gnumach-std build-gnumach-xen build-gnumach-dbg build-gnumach-xen-dbg clean
+.PHONY: install binary binary-indep binary-arch
+