1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
|
#!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
clean install binary-arch binary-indep binary:
dh $@
source := $(shell sed -ne 's/^Source: *//p' < debian/control)
sourceversion := $(shell dpkg-parsechangelog | sed -ne 's/^Version: *//p')
upstreamversion := $(firstword $(subst -, ,$(sourceversion)))
tarball := $(source)_$(upstreamversion).orig.tar.bz2
tardir := $(source)-$(upstreamversion).orig
paks := $(shell cat debian/$(source).paks)
build: \
$(patsubst %,build/%,$(paks)) \
$(patsubst %,check/%,$(paks)) \
debian/openarena-data.README.Debian \
debian/openarena-085-data.README.Debian
build/%:
set -e && sed -n -e 's/#.*//; s/\.qvm$$//p;' < debian/$*.pk3.contents | \
while read crc filename; do \
test -f $*-$$crc.qvm || \
$(MAKE) -f debian/rules QVMPREFIX=$(*F) QVMCRC=$$crc \
debian/$(*F)-$$crc.qvm; \
install -d $*/vm; \
install -v -m644 debian/$(*F)-$$crc.qvm $*/$$filename.qvm; \
done
rm -f $*.pk3
sed -n -e 's/#.*//; s/.*\t//p;' < debian/$*.pk3.contents | \
( cd $* && zip -q -9 $(CURDIR)/$*.pk3 -@ )
perl debian/list-pk3.pl $*.pk3 | diff -u debian/$*.pk3.contents -
check/pak0: build/pak0
grep "NTVEpak0" pak0/vm/cgame.qvm
grep "NTVEpak0" pak0/vm/qagame.qvm
grep "NTVEpak0" pak0/vm/ui.qvm
check/mp-pak0: build/mp-pak0
grep "NTVEmp-pak0" mp-pak0/vm/cgame.qvm
grep "NTVEmp-pak0" mp-pak0/vm/qagame.qvm
grep "NTVEmp-pak0" mp-pak0/vm/ui.qvm
check/pak6-patch085: build/pak6-patch085
grep "NTVEpak6-patch085" pak6-patch085/vm/cgame.qvm
grep "NTVEpak6-patch085" pak6-patch085/vm/qagame.qvm
grep "NTVEpak6-patch085" pak6-patch085/vm/ui.qvm
# otherwise there's nothing to check
check/%: build/%
:
debian/openarena-085-data.README.Debian: debian/qvms.README.Debian
install -m644 $< $@
debian/openarena-data.README.Debian: debian/qvms.README.Debian
install -m644 $< $@
DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
# order-only dependency: once we've generated it, no need to waste time
# generating it again, it'll come out the same
debian/$(QVMPREFIX)-$(QVMCRC).qvm: | debian/qvmbrute
./debian/qvmbrute 0x$(QVMCRC) $@ $(QVMPREFIX)
debian/qvmbrute: | debian/qvmbrute.c
$(DEB_BUILD_GNU_TYPE)-gcc $(CFLAGS) -Wall -o debian/qvmbrute debian/qvmbrute.c $(LDFLAGS) -lz
import-orig: pre-import-orig $(patsubst %,import-orig/%,$(paks))
pre-import-orig:
rm -rf ./source
import-orig/%: pre-import-orig
@if ! test -f $*.pk3; then \
echo "Copy upstream pk3 file to $*.pk3";\
exit 1;\
fi
rm -f debian/$*.pk3.contents
rm -rf ./$*
install -d $*
perl debian/list-pk3.pl $*.pk3 > debian/$*.pk3.contents
unzip -q $*.pk3 -x '*.qvm' '../*' -d $*
set -e && if test mp-pak0 = $*; then \
unzip -o -j mp-pak0.pk3 ../COPYING ../CREDITS; \
fi
# r901 is 0.8.1; r931 is 0.8.5 (despite the commit message)
# source/assets/textures/trak/ are not GPL-compatible
set -e && for r in 901 931; do \
install -d debian/svn-r$$r/source; \
test -d debian/svn-r$$r/source/assets || svn export -r$$r \
http://www.openarena.ws/svn/source/assets \
debian/svn-r$$r/source/assets; \
rm -rf debian/svn-r$$r/source/assets/textures/trak/; \
if test -e debian/$*.svn$$r; then \
while read s; do \
rsync --link-dest=debian/svn-r$$r \
--files-from=debian/$*.svn$$r -r \
debian/svn-r$$r/ ./; \
done < debian/$*.svn$$r; \
fi; \
done
export-orig:
rm -rf $(tardir)
install -d $(tardir)
set -e && for x in $(paks) source; do \
cp -al $$x $(tardir)/$$x; \
done
install -m644 CHANGES COPYING CREDITS CREDITS-0.8.5 LINUXNOTES README WENEED readme_085.txt $(tardir)
tar -jvcf ../$(tarball) $(tardir)
rm -rf $(tardir)
|