ccache/Makefile.in
2010-02-17 20:10:00 +01:00

115 lines
2.7 KiB
Makefile

srcdir = @srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
mandir = @mandir@
datarootdir = @datarootdir@
installcmd = @INSTALL@
CC = @CC@
CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@ -MD -MP -MF .deps/$(notdir $<).d -I.
LDFLAGS = @LDFLAGS@
EXEEXT = @EXEEXT@
libs = @LIBS@ -lm
sources = \
ccache.c mdfour.c hash.c execute.c util.c args.c stats.c \
cleanup.c snprintf.c unify.c manifest.c hashtable.c hashtable_itr.c \
murmurhashneutral2.c hashutil.c comments.c getopt_long.c
headers = \
ccache.h hashtable.h hashtable_itr.h hashtable_private.h hashutil.h \
manifest.h mdfour.h murmurhashneutral2.h comments.h getopt_long.h
objs = $(sources:.c=.o)
dist_files = \
$(sources) $(headers) configure Makefile.in config.h.in ccache.1 \
test.sh install-sh 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)
.PHONY: docs
docs: ccache.1
ccache$(EXEEXT): $(objs)
$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(objs) $(libs)
ccache.1: ccache.yo
yodl2man -o ccache.1 ccache.yo
.PHONY: install
install: all
$(installcmd) -d $(DESTDIR)$(bindir)
$(installcmd) -s -m 755 ccache$(EXEEXT) $(DESTDIR)$(bindir)
$(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 $(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 \
$(dist_archive_tar_bz2) $(dist_archive_tar_gz)
.PHONY: test
test: test.sh
CC='$(CC)' $(srcdir)/test.sh
.PHONY: check
check: test
.PHONY: distclean
distclean: clean
rm -rf Makefile 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 $(sources:%=.deps/%.d)