diff --git a/os/debian/rules b/os/debian/rules --- a/os/debian/rules +++ b/os/debian/rules @@ -6,9 +6,24 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 +DEFAULT_PACKAGE := openttd +# Find the package name from the topmost changelog entry. +# Is this the best way to do this? +PACKAGE = $(shell cat debian/changelog | head -1 | cut -f1 -d' ') + include /usr/share/dpatch/dpatch.make -configure: patch configure-stamp +debian/control: + # Generate control file + sed 's/PACKAGE/$(PACKAGE)/' debian/control.in > debian/control + + # TODO: How to do this using makefile conditionals? + if [ "$(PACKAGE)" != "$(DEFAULT_PACKAGE)" ]; then \ + echo "Provides: $(DEFAULT_PACKAGE)" >> debian/control ; \ + echo "Conflicts: $(DEFAULT_PACKAGE)" >> debian/control ; \ + fi; + +configure: debian/control patch configure-stamp configure-stamp: dh_testdir # Add here commands to configure the package. @@ -16,20 +31,20 @@ configure-stamp: touch configure-stamp -build: configure build-stamp +build: debian/control configure build-stamp build-stamp: dh_testdir # Add here commands to compile the package. - ./configure --prefix-dir=/usr --binary-dir=games --data-dir=share/games/openttd --icon-dir=share/pixmaps --personal-dir=.openttd --install-dir=debian/openttd + ./configure --prefix-dir=/usr --binary-dir=games --data-dir=share/games/openttd --icon-dir=share/pixmaps --personal-dir=.openttd --install-dir=debian/$(PACKAGE) $(MAKE) #/usr/bin/docbook-to-man debian/openttd.sgml > openttd.1 touch build-stamp -clean: unpatch +clean: debian/control unpatch dh_testdir dh_testroot rm -f build-stamp configure-stamp @@ -38,8 +53,10 @@ clean: unpatch -$(MAKE) clean dh_clean + # Clean up generated control file + -rm debian/control -install: build +install: debian/control build dh_testdir dh_testroot dh_clean -k @@ -53,7 +70,7 @@ binary-indep: build install # We have nothing to do by default. # Build architecture-dependent files here. -binary-arch: build install +binary-arch: debian/control build install dh_testdir dh_testroot dh_installchangelogs changelog.txt