config.log
config.status
configure
+dev.mk
testdir.*
To build ccache, you need:
- - GNU make <http://www.gnu.org/software/make/>
- A C compiler (for instance GCC)
It is also recommended that you have:
- asciidoc (http://www.methods.co.nz/asciidoc/) to build the documentation.
- autoconf (http://www.gnu.org/software/autoconf/)
-Run "./autogen.sh" to generate "configure" and "config.h.in" and then follow
-the steps mentioned under INSTALLATION above.
+Run "./autogen.sh" and then follow the steps mentioned under INSTALLATION
+above.
CC = @CC@
CFLAGS = @CFLAGS@
-CPPFLAGS = @CPPFLAGS@ -I. -MD -MP -MF .deps/$(subst .._,,$(subst /,_,$<)).d
+CPPFLAGS = @CPPFLAGS@ -I.
LDFLAGS = @LDFLAGS@
EXEEXT = @EXEEXT@
objs = $(all_sources:.c=.o)
-dist_files = \
- $(sources) $(headers) ccache.1 config.h.in configure install-sh \
- Makefile.in test.sh zlib/*.h zlib/*.c COPYING INSTALL NEWS README
-
-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
-
.PHONY: all
all: ccache$(EXEEXT)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(objs) $(libs)
ccache.1: ccache.yo
- yodl2man -o ccache.1 ccache.yo
+ yodl2man -o ccache.1 $(srcdir)/ccache.yo
.PHONY: install
install: all
$(installcmd) -d $(DESTDIR)$(mandir)/man1
-$(installcmd) -m 644 $(srcdir)/ccache.1 $(DESTDIR)$(mandir)/man1/
-.PHONY: dist
-dist: $(dist_archive_tar_bz2) $(dist_archive_tar_gz)
-
-define create_dist_archive
- tmpdir=$$(mktemp -d) && \
- dir=$$tmpdir/$(dist_dir) && \
- mkdir $$dir && \
- cp -r --parents $(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: clean
clean:
rm -f $(objs) *~ ccache$(EXEEXT) .deps/* ccache.1 \
.PHONY: distclean
distclean: clean
- rm -rf Makefile config.h config.log config.status .deps
+ rm -rf Makefile dev.mk config.h config.log config.status .deps
.PHONY: installcheck
installcheck:
CCACHE=$(bindir)/ccache $(srcdir)/test.sh
-.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)
+@include_dev_mk@
autoheader
autoconf
-echo "Now run ./configure and make"
+echo "Now run ./configure-dev and make"
--- /dev/null
+#!/bin/sh
+
+`dirname $0`/configure --enable-dev "$@"
AC_CONFIG_HEADER(config.h)
AC_SUBST(extra_sources)
+AC_SUBST(include_dev_mk)
+
+AC_ARG_ENABLE(
+ dev,
+ AS_HELP_STRING(--enable-dev, enable developer mode (requires GNU make)),
+ [include_dev_mk='include dev.mk'])
dnl Checks for programs.
AC_PROG_CC
mkdir -p zlib
fi
-dnl Check for GNU make.
-AC_PATH_PROGS(MAKE, gmake make)
-AC_CACHE_CHECK(
- for GNU make,
- ccache_cv_gnu_make,
- [
- if $ac_cv_path_MAKE --version | head -1 | grep GNU >/dev/null 2>&1; then
- ccache_cv_gnu_make=yes
- else
- ccache_cv_gnu_make=no
- fi
- ])
-if test x$ccache_cv_gnu_make = xno; then
- AC_MSG_ERROR(Please install GNU make as gmake or make)
-fi
-
-AC_CONFIG_FILES([Makefile])
+AC_CONFIG_FILES([Makefile dev.mk])
AC_OUTPUT
mkdir -p .deps
AC_MSG_WARN(using bundled zlib)
fi
-AC_MSG_NOTICE(now please build ccache by running $ac_cv_path_MAKE)
+AC_MSG_NOTICE(now build ccache by running make)
--- /dev/null
+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)