File: dev.mk.in

package info (click to toggle)
ccache 3.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 1,220 kB
  • ctags: 1,209
  • sloc: ansic: 11,334; sh: 1,382; makefile: 138
file content (87 lines) | stat: -rw-r--r-- 2,470 bytes parent folder | download
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
# GNU make syntax reigns in this file.

CFLAGS += -Werror
CPPFLAGS += -MD -MP -MF .deps/$(subst .._,,$(subst /,_,$<)).d

ASCIIDOC = asciidoc
XSLTPROC = xsltproc
MANPAGE_XSL = /etc/asciidoc/docbook-xsl/manpage.xsl

version := \
    $(shell (git describe --dirty 2>/dev/null || echo vunknown) \
            | sed -e 's/v//' -e 's/-/+/' -e 's/-/_/g')

dist_dir = ccache-$(version)
dist_archive_tar_bz2 = ccache-$(version).tar.bz2
dist_archive_tar_gz = ccache-$(version).tar.gz

generated_docs = ccache.1 INSTALL.html manual.html NEWS.html README.html
built_dist_files = $(generated_docs)

files_to_clean += $(dist_archive_tar_bz2) $(dist_archive_tar_gz) .deps/*
files_to_clean += $(built_dist_files) version.c
files_to_clean += *.xml

source_dist_files = \
    $(sources) $(headers) zlib/*.c zlib/*.h \
    config.h.in configure configure-dev dev.mk.in install-sh Makefile.in \
    test.sh COPYING INSTALL.txt NEWS.txt README.txt
dist_files = \
    $(addprefix $(srcdir)/, $(source_dist_files)) \
    $(built_dist_files)

ifneq ($(shell sed 's/.*"\(.*\)".*/\1/' version.c 2>/dev/null),$(version))
  $(shell echo 'const char CCACHE_VERSION[] = "$(version)";' >version.c)
endif
version.o: version.c

.PHONY: dist
dist: $(dist_archive_tar_bz2) $(dist_archive_tar_gz)

define create_dist_archive
	tmpdir=$$(mktemp -d /tmp/tmp-ccache-dist.XXXXXX) && \
	dir=$$tmpdir/$(dist_dir) && \
	mkdir $$dir && \
	(cd $(srcdir) && \
	 cp -r --parents $(source_dist_files) $$dir) && \
	cp $(built_dist_files) $$dir && \
	(cd $$tmpdir && \
	 tar $(1) $(CURDIR)/$@ $(dist_dir)) && \
	rm -rf $$tmpdir
endef

$(dist_archive_tar_bz2): $(dist_files)
	$(call create_dist_archive, cjf)

$(dist_archive_tar_gz): $(dist_files)
	$(call create_dist_archive, czf)

.PHONY: distcheck
distcheck: $(dist_archive_tar_bz2)
	tmpdir=$$(mktemp -d /tmp/tmp-ccache-distcheck.XXXXXX) && \
	(cd $$tmpdir && \
	 tar xjf $(CURDIR)/$(dist_archive_tar_bz2) && \
	 mkdir -p $(dist_dir)/build && \
	 cd $(dist_dir)/build && \
	 ../configure --prefix=$$tmpdir/root && \
	 $(MAKE) install && \
	 $(MAKE) installcheck) && \
	rm -rf $$tmpdir

.PHONY: docs
docs: $(generated_docs)

%.html: %.txt
	$(ASCIIDOC) -a revnumber=$(version) -a toc -b xhtml11 $<

%.xml: %.txt
	$(ASCIIDOC) -a revnumber=$(version) -d manpage -b docbook $<

ccache.1: manual.xml
	$(XSLTPROC) --nonet $(MANPAGE_XSL) $<

.PHONY: check-syntax
check-syntax:
	$(CC) @CPPFLAGS@ -I. $(CFLAGS) -S -o /dev/null $(CHK_SOURCES)

-include $(all_sources:%=.deps/%.d)