X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=debian%2Frules;h=bbc7357e54ddec9a09a94a95a1e2eb9068aa027c;hb=fe81a2987abeda195f6535cab973b1c753cca4b3;hp=707fe8b7db4238cbf990f7c1fd6bf839fcfa3aec;hpb=064af42167bf4fc9aaea2702d80ce08074b889c0;p=openvswitch diff --git a/debian/rules b/debian/rules index 707fe8b7..bbc7357e 100755 --- a/debian/rules +++ b/debian/rules @@ -10,36 +10,32 @@ # Modified to make a template file for a multi-binary package with separated # build-arch and build-indep targets by Bill Allombert 2001 -# Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -# This has to be exported to make some magic below work. -export DH_OPTIONS - -# prefix of the target package name -PACKAGE=openvswitch-datapath-module -# modifieable for experiments or debugging m-a -MA_DIR ?= /usr/share/modass -# load generic variable handling --include $(MA_DIR)/include/generic.make -# load default rules --include $(MA_DIR)/include/common-rules.make - -DATAPATH_CONFIGURE_OPTS = - # Official build number. Leave set to 0 if not an official build. BUILD_NUMBER = 0 +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) +NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) +MAKEFLAGS += -j$(NUMJOBS) +endif + +ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) +CFLAGS += -O0 +else +CFLAGS += -O2 +endif + configure: configure-stamp configure-stamp: dh_testdir test -e configure || ./boot.sh test -d _debian || mkdir _debian + echo $(DEB_BUILD_OPTIONS) + echo $$CC cd _debian && ( \ test -e Makefile || \ ../configure --prefix=/usr --localstatedir=/var --enable-ssl \ --with-build-number=$(BUILD_NUMBER) \ - $(DATAPATH_CONFIGURE_OPTS)) + CFLAGS="$(CFLAGS)" $(DATAPATH_CONFIGURE_OPTS)) touch configure-stamp #Architecture @@ -48,6 +44,12 @@ build: build-arch build-indep build-arch: build-arch-stamp build-arch-stamp: configure-stamp $(MAKE) -C _debian +ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) + if $(MAKE) -C _debian check; then :; else \ + cat _debian/tests/testsuite.log; \ + exit 1; \ + fi +endif touch $@ build-indep: build-indep-stamp @@ -62,32 +64,6 @@ clean: rm -rf _debian [ ! -f Makefile ] || $(MAKE) distclean dh_clean - debconf-updatepo - -kdist_clean: - dh_clean - rm -rf openvswitch - -kdist_config: prep-deb-files - -binary-modules: DSTDIR = $(CURDIR)/debian/$(PKGNAME)/lib/modules/$(KVERS) -binary-modules: prep-deb-files - dh_testdir - dh_testroot - dh_clean -k - tar xzf openvswitch.tar.gz - cd openvswitch && ./configure --with-l26=$(KSRC) $(DATAPATH_CONFIGURE_OPTS) --with-build-number=$(BUILD_NUMBER) - cd openvswitch && $(MAKE) -C datapath/linux-2.6 - install -d -m755 $(DSTDIR) - install -m644 openvswitch/datapath/linux-2.6/*_mod.ko $(DSTDIR)/ - dh_installdocs - dh_installchangelogs - dh_compress - dh_fixperms - dh_installdeb - dh_gencontrol - dh_md5sums - dh_builddeb --destdir=$(DEB_DESTDIR) install: install-indep install-arch install-indep: build-indep @@ -96,9 +72,11 @@ install-indep: build-indep dh_clean -k -i dh_installdirs -i dh_install -i + sed 's/^BUILD_NUMBER = .*/BUILD_NUMBER = $(BUILD_NUMBER)/' \ + < debian/rules.modules \ + > debian/openvswitch-datapath-source/usr/src/modules/openvswitch-datapath/debian/rules + chmod 755 debian/openvswitch-datapath-source/usr/src/modules/openvswitch-datapath/debian/rules cd debian/openvswitch-datapath-source/usr/src && tar -c modules | bzip2 -9 > openvswitch-datapath.tar.bz2 && rm -rf modules - install -m644 debian/openvswitch-pki-server.apache2 debian/openvswitch-pki-server/etc/apache2/sites-available/openvswitch-pki - install -m1777 -d debian/corekeeper/var/log/core install-arch: build-arch dh_testdir @@ -106,10 +84,8 @@ install-arch: build-arch dh_clean -k -s dh_installdirs -s $(MAKE) -C _debian DESTDIR=$(CURDIR)/debian/openvswitch install - cp debian/openvswitch-switch-config.overrides debian/openvswitch-switch-config/usr/share/lintian/overrides/openvswitch-switch-config cp debian/openvswitch-switch.template debian/openvswitch-switch/usr/share/openvswitch/switch/default.template dh_install -s - env TERMINFO=debian/openvswitch-switchui/usr/share/terminfo tic -x extras/ezio/ezio3.ti # Must not depend on anything. This is to be called by # binary-arch/binary-indep @@ -129,6 +105,7 @@ binary-common: dh_strip --dbg-package=openvswitch-dbg dh_compress dh_fixperms -X var/log/core + dh_pysupport dh_perl dh_makeshlibs dh_installdeb @@ -143,3 +120,9 @@ binary-arch: install-arch binary: binary-arch binary-indep .PHONY: build clean binary-indep binary-arch binary install install-indep install-arch configure + +# This GNU make extensions disables parallel builds for the current Makefile +# but not for sub-Makefiles. This is appropriate here because build-arch and +# build-indep both invoke "make" on OVS, which can update some of the same +# targets in ways that conflict (e.g. both update tests/testsuite). +.NOTPARALLEL: