summaryrefslogtreecommitdiff
path: root/dev.mk.in
diff options
context:
space:
mode:
authorJoel Rosdahl <joel@rosdahl.net>2010-02-26 21:24:09 +0100
committerJoel Rosdahl <joel@rosdahl.net>2010-02-26 21:24:09 +0100
commit1af0bd848651c62cdf72eea9918f5d57402de838 (patch)
treed89ebafda73e4fba6b6ae8f0e23c65a53daa279f /dev.mk.in
parentf9cf675f44d23330d5673c689dade222a3aa283c (diff)
downloadccache-1af0bd848651c62cdf72eea9918f5d57402de838.tar.gz
Portability: don't require GNU make
The part of Makefile.in that requires GNU make has been split into dev.mk.in, and the configure script has learned a new --enable-dev option that makes Makefile include dev.mk. The configure script doesn't check for GNU make anymore. There is also a new configure-dev convenience script that runs configure with --enable-dev.
Diffstat (limited to 'dev.mk.in')
-rw-r--r--dev.mk.in54
1 files changed, 54 insertions, 0 deletions
diff --git a/dev.mk.in b/dev.mk.in
new file mode 100644
index 00000000..7533bafb
--- /dev/null
+++ b/dev.mk.in
@@ -0,0 +1,54 @@
+CPPFLAGS += -MD -MP -MF .deps/$(subst .._,,$(subst /,_,$<)).d
+version = $(shell sed -n 's/^\#define CCACHE_VERSION "\(.*\)"/\1/p' \
+ $(srcdir)/ccache.h)
+dist_dir = ccache-$(version)
+dist_archive_tar_bz2 = ccache-$(version).tar.bz2
+dist_archive_tar_gz = ccache-$(version).tar.gz
+
+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 NEWS README
+built_dist_files = ccache.1
+dist_files = \
+ $(addprefix $(srcdir)/, $(source_dist_files)) \
+ $(built_dist_files)
+
+.PHONY: dist
+dist: $(dist_archive_tar_bz2) $(dist_archive_tar_gz)
+
+define create_dist_archive
+ tmpdir=$$(mktemp -d) && \
+ 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) && \
+ (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: check-syntax
+check-syntax:
+ $(CC) @CPPFLAGS@ -I. $(CFLAGS) -S -o /dev/null $(CHK_SOURCES)
+
+-include $(all_sources:%=.deps/%.d)