#! /usr/bin/make -f # This file is public domain software, originally written by Joey Hess. # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 # This is the debhelper compatibility version to use. export DH_COMPAT=2 PACKAGE := quakeforge QFCC := qfcc common := $(PACKAGE)-common stub := $(PACKAGE)-stub maptools := $(PACKAGE)-maptools dev := $(PACKAGE)-dev alsa := $(PACKAGE)-alsa gllib := $(PACKAGE)-libs-gl glx := $(PACKAGE)-glx oss := $(PACKAGE)-oss sdl := $(PACKAGE)-sdl servers := $(PACKAGE)-servers sgl := $(PACKAGE)-sgl swlib := $(PACKAGE)-libs-sw utils := $(PACKAGE)-utils x11 := $(PACKAGE)-x11 build := $(shell pwd)/debian/tmp tmp := debian/tmp ifeq ($(DEB_BUILD_GNU_TYPE),) RETARGET= else RETARGET= --build=$(DEB_BUILD_GNU_TYPE) endif configure: configure-stamp configure-stamp: dh_testdir # Add here commands to configure the package. ./bootstrap ./configure --prefix=/usr $(RETARGET) --bindir=/usr/games \ --without-fbdev \ --disable-xmms \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --with-sharepath=/usr/share/games/quake \ --with-plugin-path=/usr/lib/quakeforge/plugins \ --with-clients=glx,sdl,sgl,x11 \ --with-servers=master,nq,qw touch $@ build: configure-stamp changelog-stamp build-stamp build-stamp: dh_testdir $(MAKE) $(QFSMP) touch $@ changelog-stamp: dh_testdir # Add here commands to build the changelog if test -d .git; then $(MAKE) changelog; fi touch $@ clean: dh_testdir dh_testroot rm -f build-stamp configure-stamp changelog-stamp debian/quakeforge-common.conffiles # Add here commands to clean up after the build process. -$(MAKE) distclean # VERY clean ./bootstrap clean dh_clean install: DH_OPTIONS= install: build dh_testdir dh_testroot dh_clean -k # Add here commands to install the package into debian/tmp. $(MAKE) DESTDIR=$(build) install install -m644 -D debian/quakeforge.conf $(build)/etc/quakeforge.conf mkdir $(build)/usr/share/games/quake/id1 # quakeforge-common find $(tmp)/etc ! -type d | sed -e "s:^$(tmp)::" > debian/$(common).conffiles install -D -m755 debian/$(common).shlibs debian/$(common)/DEBIAN/shlibs dh_movefiles -p$(common) --sourcedir=$(tmp) \ etc/quakeforge.conf \ usr/lib/libQFcd.so.* \ usr/lib/libQFconsole.so.* \ usr/lib/libQFruamoko.so.* \ usr/lib/libQFgamecode.so.* \ usr/lib/libQFgamecode_builtins.so.* \ usr/lib/libQFgib.so.* \ usr/lib/libQFimage.so.* \ usr/lib/libQFjs.so.* \ usr/lib/libQFmodels.so.* \ usr/lib/libQFsound.so.* \ usr/lib/libQFutil.so.* \ usr/lib/quakeforge/plugins/cd_file.so* \ usr/lib/quakeforge/plugins/cd_linux.so* \ usr/lib/quakeforge/plugins/console_client.so* \ usr/lib/quakeforge/plugins/snd_output_disk.so* \ usr/lib/quakeforge/plugins/snd_render_default.so* \ usr/share/games/quake/QF/menu.dat* dh_installdocs -p$(common) NEWS TODO dh_installchangelogs -p$(common) ChangeLog # quakeforge-stub install -d -m755 debian/$(stub)/usr/share/games/quake/id1 # quakeforge-dev dh_movefiles -p$(dev) --sourcedir=$(tmp) \ usr/lib/libQFcd.*a \ usr/lib/libQFcd.so \ usr/lib/libQFconsole.*a \ usr/lib/libQFconsole.so \ usr/lib/libQFruamoko.*a \ usr/lib/libQFruamoko.so \ usr/lib/libQFgamecode.*a \ usr/lib/libQFgamecode.so \ usr/lib/libQFgamecode_builtins.*a \ usr/lib/libQFgamecode_builtins.so \ usr/lib/libQFgib.a \ usr/lib/libQFgib.so \ usr/lib/libQFimage.*a \ usr/lib/libQFimage.so \ usr/lib/libQFjs.*a \ usr/lib/libQFjs.so \ usr/lib/libQFmodels.*a \ usr/lib/libQFmodels.so \ usr/lib/libQFsound.*a \ usr/lib/libQFsound.so \ usr/lib/libQFutil.*a \ usr/lib/libQFutil.so \ usr/include/QF/GL/*.h \ usr/include/QF/plugin/*.h \ usr/include/QF/*.h install -d -m755 debian/$(dev)/usr/share/doc ln -s $(common) debian/$(dev)/usr/share/doc/$(dev) # quakeforge-libs-gl dh_movefiles -p$(gllib) --sourcedir=$(tmp) \ usr/lib/libQFmodels_gl.so.* \ usr/lib/libQFrenderer_gl.so.* install -D -m755 debian/$(gllib).shlibs debian/$(gllib)/DEBIAN/shlibs install -d -m755 debian/$(gllib)/usr/share/doc ln -s $(common) debian/$(gllib)/usr/share/doc/$(gllib) # quakeforge-libs-sw dh_movefiles -p$(swlib) --sourcedir=$(tmp) \ usr/lib/libQFmodels_sw.so.* install -D -m755 debian/$(swlib).shlibs debian/$(swlib)/DEBIAN/shlibs install -d -m755 debian/$(swlib)/usr/share/doc ln -s $(common) debian/$(swlib)/usr/share/doc/$(swlib) # quakeforge-servers dh_movefiles -p$(servers) --sourcedir=$(tmp) \ usr/games/qw-master \ usr/games/qw-server \ usr/games/nq-server \ usr/lib/quakeforge/plugins/console_server.so* install -d -m755 debian/$(servers)/usr/share/doc ln -s $(common) debian/$(servers)/usr/share/doc/$(servers) # quakeforge-glx dh_movefiles -p$(glx) --sourcedir=$(tmp) \ usr/games/nq-glx \ usr/games/qw-client-glx install -d -m755 debian/$(glx)/usr/share/doc ln -s $(common) debian/$(glx)/usr/share/doc/$(glx) # quakeforge-sdl dh_movefiles -p$(sdl) --sourcedir=$(tmp) \ usr/games/nq-sdl \ usr/games/qw-client-sdl \ usr/lib/quakeforge/plugins/cd_sdl.so \ usr/lib/quakeforge/plugins/snd_output_sdl.so install -d -m755 debian/$(sdl)/usr/share/doc ln -s $(common) debian/$(sdl)/usr/share/doc/$(sdl) # quakeforge-sgl dh_movefiles -p$(sgl) --sourcedir=$(tmp) \ usr/games/nq-sgl \ usr/games/qw-client-sgl install -d -m755 debian/$(sgl)/usr/share/doc ln -s $(common) debian/$(sgl)/usr/share/doc/$(sgl) # quakeforge-x11 dh_movefiles -p$(x11) --sourcedir=$(tmp) \ usr/games/nq-x11 \ usr/games/qw-client-x11 install -d -m755 debian/$(x11)/usr/share/doc ln -s $(common) debian/$(x11)/usr/share/doc/$(x11) # quakeforge-alsa dh_movefiles -p$(alsa) --sourcedir=$(tmp) \ usr/lib/quakeforge/plugins/snd_output_alsa.so* install -d -m755 debian/$(alsa)/usr/share/doc ln -s $(common) debian/$(alsa)/usr/share/doc/$(alsa) # quakeforge-oss dh_movefiles -p$(oss) --sourcedir=$(tmp) \ usr/lib/quakeforge/plugins/snd_output_oss.so* install -d -m755 debian/$(oss)/usr/share/doc ln -s $(common) debian/$(oss)/usr/share/doc/$(oss) # qfcc install -D -m755 $(tmp)/usr/games/qfcc $(tmp)/usr/bin/qfcc rm -f $(tmp)/usr/games/qfcc dh_movefiles -p$(QFCC) --sourcedir=$(tmp) \ usr/bin/qfcc \ usr/share/man/man1/qfcc.1 \ usr/include/QF/ruamoko/* \ usr/lib/ruamoko/* install -d -m755 debian/$(QFCC)/usr/share/doc ln -s $(common) debian/$(QFCC)/usr/share/doc/$(QFCC) # quakeforge-utils install -D -m755 $(tmp)/usr/games/pak $(tmp)/usr/bin/pak install -D -m755 $(tmp)/usr/games/zpak $(tmp)/usr/bin/zpak install -D -m755 $(tmp)/usr/games/qfprogs $(tmp)/usr/bin/qfprogs install -D -m755 $(tmp)/usr/games/qfwavinfo $(tmp)/usr/bin/qfwavinfo rm -f $(tmp)/usr/games/pak \ $(tmp)/usr/games/zpak \ $(tmp)/usr/games/qfprogs \ $(tmp)/usr/games/qfwavinfo dh_movefiles -p$(utils) --sourcedir=$(tmp) \ usr/bin/pak \ usr/bin/zpak \ usr/bin/qfprogs \ usr/bin/qfwavinfo \ usr/share/man/man1/pak.1 install -d -m755 debian/$(utils)/usr/share/doc ln -s $(common) debian/$(utils)/usr/share/doc/$(utils) # quakeforge-maptools install -D -m755 $(tmp)/usr/games/qfbsp $(tmp)/usr/bin/qfbsp install -D -m755 $(tmp)/usr/games/qflight $(tmp)/usr/bin/qflight install -D -m755 $(tmp)/usr/games/qfvis $(tmp)/usr/bin/qfvis rm -f $(tmp)/usr/games/qfbsp \ $(tmp)/usr/games/qflight \ $(tmp)/usr/games/qfvis dh_movefiles -p$(maptools) --sourcedir=$(tmp) \ usr/bin/qfbsp \ usr/bin/qflight \ usr/bin/qfvis \ usr/share/man/man1/qflight.1 \ usr/share/man/man1/qfvis.1 install -d -m755 debian/$(maptools)/usr/share/doc ln -s $(common) debian/$(maptools)/usr/share/doc/$(maptools) # quakeforge find $(tmp) -type d -empty -print | xargs -r rmdir -p --ignore-fail-on-non-empty dh_movefiles -p$(PACKAGE) --sourcedir=$(tmp) install -d -m755 debian/$(PACKAGE)/usr/share/doc ln -s $(common) debian/$(PACKAGE)/usr/share/doc/$(PACKAGE) # Build architecture-independent files here. # Pass -i to all debhelper commands in this target to reduce clutter. binary-indep: DH_OPTIONS=-i binary-indep: build install # We don't have any packages with Architecture: all # Build architecture-dependent files here. # Pass -a to all debhelper commands in this target to reduce clutter. binary-arch: DH_OPTIONS=-a binary-arch: build install dh_testdir dh_testroot dh_installexamples dh_installmenu dh_installman -p$(QFCC) dh_installman -p$(maptools) dh_installman -p$(utils) dh_undocumented dh_strip -Xruamoko dh_link dh_compress dh_fixperms dh_makeshlibs # You may want to make some executables suid here. dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install