File: Makefile.release

package info (click to toggle)
apt-cacher-ng 2-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 2,032 kB
  • ctags: 1,705
  • sloc: cpp: 16,869; sh: 536; ansic: 404; perl: 377; makefile: 124
file content (80 lines) | stat: -rw-r--r-- 2,680 bytes parent folder | download | duplicates (5)
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

export CXXFLAGS
export LDFLAGS

# shortcut setting some defaults to development style
ifneq ($(DEBUG),)
	 CMAKEOPTS += -DCMAKE_BUILD_TYPE=Debug --debug-trycompile --debug-output
	 MAKEFLAGS += VERBOSE=1
else
	# use release type flags unless user has custom settings already
ifeq ($(CXXFLAGS),)
	 CMAKEOPTS += -DCMAKE_BUILD_TYPE=Release
endif
endif

doc: doc/README
doc/README: doc/src/README.but doc/src/manpage.but doc/src/acngfs.but doc/src/textparm.but
	@mkdir -p doc/html doc/man
	halibut --text=doc/README doc/src/textparm.but doc/src/README.but
	halibut --pdf=doc/apt-cacher-ng.pdf doc/src/README.but
	cd doc/html && halibut --html ../src/README.but
	cd doc/man && halibut --man ../src/manpage.but && halibut --man ../src/acngfs.but

PKGNAME=apt-cacher-ng
VERSION=$(shell cat VERSION)
TAGVERSION=$(subst rc,_rc,$(subst pre,_pre,$(VERSION)))
DISTNAME=$(PKGNAME)-$(VERSION)
DEBSRCNAME=$(PKGNAME)_$(shell echo $(VERSION) | sed -e "s,pre,~pre,;s,rc,~rc,;").orig.tar.xz

tarball: doc notdebianbranch nosametarball
	# diff-index is buggy and reports false positives... trying to work around
	git update-index --refresh || git commit -a
	git diff-index --quiet HEAD || git commit -a
	git archive --prefix $(DISTNAME)/ HEAD | xz -9 > ../$(DISTNAME).tar.xz
	test -e /etc/debian_version && ln -f ../$(DISTNAME).tar.xz ../$(DEBSRCNAME) || true
	test -e ../tarballs && ln -f ../$(DISTNAME).tar.xz ../tarballs/$(DEBSRCNAME) || true
	test -e ../build-area && ln -f ../$(DISTNAME).tar.xz ../build-area/$(DEBSRCNAME) || true

tarball-remove:
	rm -f ../$(DISTNAME).tar.xz ../tarballs/$(DEBSRCNAME) ../$(DEBSRCNAME) ../build-area/$(DEBSRCNAME)

release: checktest noremainingwork tarball
	git tag upstream/$(TAGVERSION)

unrelease: tarball-remove
	-git tag -d upstream/$(TAGVERSION)

pristine-commit:
	pristine-tar commit ../$(DISTNAME).tar.xz $(TAGVERSION)
	pristine-tar commit ../tarballs/$(DEBSRCNAME) $(TAGVERSION)

noremainingwork:
	test ! -e TODO.next # the quick reminder for the next release should be empty

notdebianbranch:
	test ! -f debian/rules # make sure it is not run from the wrong branch

nosametarball:
	test ! -f ../$(DISTNAME).tar.xz # make sure not to overwrite existing tarball
	test ! -f ../tarballs/$(DEBSRCNAME)

gendbs:
	$(MAKE) -C dbgen CONFDIR=../conf

doxy:
	doxygen Doxyfile
	see doc/dev/html/index.html

checktest:
	test -e builddir/testok || (echo Should run the test suite before release... ; exit 1)

test:
	bash -x test/apptests.sh
	touch builddir/testok

# execute them always and consider done afterwards
.PHONY: gendbs clean distclean config conf/gentoo_mirrors.gz test

# the dependencies in THIS Makefile shall be processed as sequence
.NOTPARALLEL: