3 # Sample debian/rules that uses debhelper.
5 # This file was originally written by Joey Hess and Craig Small.
6 # As a special exception, when this file is copied by dh-make into a
7 # dh-make output file, you may use that output file without restriction.
8 # This special exception was added by Craig Small in version 0.37 of dh-make.
10 # Modified to make a template file for a multi-binary package with separated
11 # build-arch and build-indep targets by Bill Allombert 2001
14 pdkms
=openvswitch-datapath-dkms
15 DEB_UPSTREAM_VERSION
=$(shell dpkg-parsechangelog | sed
-rne
's,^Version: ([0-9]:)*([^-]+).*,\2,p')
16 srcfiles
:= $(filter-out debian
, $(wildcard * .
[^.
]*))
18 ifneq (,$(filter parallel
=%,$(DEB_BUILD_OPTIONS
)))
19 PARALLEL
= -j
$(patsubst parallel
=%,%,$(filter parallel
=%,$(DEB_BUILD_OPTIONS
)))
23 MAKEFLAGS
+= $(PARALLEL
)
26 ifneq (,$(filter noopt
,$(DEB_BUILD_OPTIONS
)))
32 # Old versions of dpkg-buildflags do not understand --export=configure.
33 # When dpkg-buildflags does not understand an option, it prints its full
34 # --help output on stdout, so we have to avoid that here.
35 buildflags
:= $(shell if dpkg-buildflags
--export=configure
>/dev
/null
2>&1; \
36 then dpkg-buildflags
--export=configure
; fi
)
38 configure
: configure-stamp
41 test -e configure || .
/boot.sh
42 test -d _debian || mkdir _debian
43 echo
$(DEB_BUILD_OPTIONS
)
47 ..
/configure
--prefix=/usr
--localstatedir
=/var
--enable-ssl \
48 --sysconfdir
=/etc
--host
=$(DEB_HOST_GNU_TYPE
) CFLAGS
="$(CFLAGS)" \
49 $(buildflags
) $(DATAPATH_CONFIGURE_OPTS
))
53 build
: build-arch build-indep
55 build-arch
: build-arch-stamp
56 build-arch-stamp
: configure-stamp
58 ifeq (,$(filter nocheck
,$(DEB_BUILD_OPTIONS
)))
59 if
$(MAKE
) -C _debian
check TESTSUITEFLAGS
='$(PARALLEL)' || \
60 $(MAKE
) -C _debian
check TESTSUITEFLAGS
='--recheck'; then
:; \
62 cat _debian
/tests
/testsuite.log
; \
68 build-indep
: build-indep-stamp
69 build-indep-stamp
: configure-stamp
70 $(MAKE
) -C _debian
dist distdir
=openvswitch
76 rm -f build-arch-stamp build-indep-stamp configure-stamp
78 [ ! -f Makefile
] ||
$(MAKE
) distclean
80 rm -f python
/ovs
/*.pyc python
/ovs
/db
/*.pyc
82 install: install-indep install-arch
83 install-indep
: build-indep
88 $(MAKE
) -C _debian DESTDIR
=$(CURDIR
)/debian
/tmp
install
90 cp debian
/rules.modules debian
/openvswitch-datapath-source
/usr
/src
/modules
/openvswitch-datapath
/debian
/rules
91 chmod
755 debian
/openvswitch-datapath-source
/usr
/src
/modules
/openvswitch-datapath
/debian
/rules
92 cd debian
/openvswitch-datapath-source
/usr
/src
&& tar -c modules | bzip2
-9 > openvswitch-datapath.
tar.bz2
&& rm -rf modules
96 dh_installdirs
-p
$(pdkms
) usr
/src
/$(PACKAGE
)-$(DEB_UPSTREAM_VERSION
)
99 cd debian
/$(pdkms
)/usr
/src
/$(PACKAGE
)-$(DEB_UPSTREAM_VERSION
) && tar xvzf
$(CURDIR
)/_debian
/openvswitch.
tar.gz
&& mv openvswitch
/* openvswitch
/.
[a-z
]* .
&& rmdir openvswitch
101 # check we can get kernel module names
102 $(MAKE
) -C _debian
/datapath print-build-modules
104 # Prepare dkms.conf from the dkms.conf.in template
105 sed
"s/__VERSION__/$(DEB_UPSTREAM_VERSION)/g; s/__MODULES__/$(shell $(MAKE) -C _debian/datapath print-build-modules | grep -v make)/" debian
/dkms.conf.in
> debian
/$(pdkms
)/usr
/src
/$(PACKAGE
)-$(DEB_UPSTREAM_VERSION
)/dkms.conf
107 # We don't need the debian folder in there, just upstream sources...
108 rm -rf debian
/$(pdkms
)/usr
/src
/$(PACKAGE
)-$(DEB_UPSTREAM_VERSION
)/debian
109 # We don't need the rhel stuff in there either
110 rm -rf debian
/$(pdkms
)/usr
/src
/$(PACKAGE
)-$(DEB_UPSTREAM_VERSION
)/rhel
111 # And we should also clean useless license files, which are already
112 # descriped in our debian/copyright anyway.
113 rm -f debian
/$(pdkms
)/usr
/src
/$(PACKAGE
)-$(DEB_UPSTREAM_VERSION
)/COPYING \
114 debian
/$(pdkms
)/usr
/src
/$(PACKAGE
)-$(DEB_UPSTREAM_VERSION
)/xenserver
/LICENSE
116 install-arch
: build-arch
121 $(MAKE
) -C _debian DESTDIR
=$(CURDIR
)/debian
/tmp
install
122 cp debian
/openvswitch-switch.template debian
/openvswitch-switch
/usr
/share
/openvswitch
/switch
/default.template
126 # Must not depend on anything. This is to be called by
127 # binary-arch/binary-indep
128 # in another 'make' thread.
139 dh_installman
--language
=C
141 dh_strip
--dbg-package
=openvswitch-dbg
152 binary-indep
: install-indep
153 $(MAKE
) -f debian
/rules DH_OPTIONS
=-i binary-common
154 binary-arch
: install-arch
155 $(MAKE
) -f debian
/rules DH_OPTIONS
=-s binary-common
157 binary
: binary-arch binary-indep
158 .PHONY
: build
clean binary-indep binary-arch binary
install install-indep install-arch configure
160 # This GNU make extensions disables parallel builds for the current Makefile
161 # but not for sub-Makefiles. This is appropriate here because build-arch and
162 # build-indep both invoke "make" on OVS, which can update some of the same
163 # targets in ways that conflict (e.g. both update tests/testsuite).