5 exec_prefix = @exec_prefix@
8 datarootdir = @datarootdir@
9 sysconfdir = @sysconfdir@
10 installcmd = @INSTALL@
22 all_cflags = $(CFLAGS)
23 all_cppflags = @DEFS@ -DSYSCONFDIR=$(sysconfdir) -I. -I$(srcdir)/src $(CPPFLAGS)
24 extra_libs = @extra_libs@
49 src/murmurhashneutral2.c \
51 base_sources = $(non_3pp_sources) $(3pp_sources)
52 base_objs = $(base_sources:.c=.o)
54 ccache_sources = src/main.c $(base_sources)
55 ccache_objs = $(ccache_sources:.c=.o)
58 zlib/adler32.c zlib/crc32.c zlib/deflate.c zlib/gzclose.c zlib/gzlib.c \
59 zlib/gzread.c zlib/gzwrite.c zlib/inffast.c zlib/inflate.c \
60 zlib/inftrees.c zlib/trees.c zlib/zutil.c
61 zlib_objs = $(zlib_sources:.c=.o)
63 test_suites = @test_suites@
64 test_sources = unittest/main.c unittest/framework.c unittest/util.c
65 test_sources += $(test_suites)
66 test_objs = $(test_sources:.c=.o)
68 all_sources = $(ccache_sources) $(test_sources)
69 all_objs = $(ccache_objs) $(test_objs) $(zlib_objs)
71 files_to_clean = $(all_objs) ccache$(EXEEXT) unittest/run$(EXEEXT) *~ testdir.*
72 files_to_distclean = Makefile config.h config.log config.status
77 ccache$(EXEEXT): $(ccache_objs) $(extra_libs)
78 $(CC) $(all_cflags) -o $@ $(ccache_objs) $(LDFLAGS) $(extra_libs) $(LIBS)
81 install: all $(srcdir)/ccache.1
82 $(installcmd) -d $(DESTDIR)$(bindir)
83 $(installcmd) -m 755 ccache$(EXEEXT) $(DESTDIR)$(bindir)
84 $(installcmd) -d $(DESTDIR)$(mandir)/man1
85 -$(installcmd) -m 644 $(srcdir)/ccache.1 $(DESTDIR)$(mandir)/man1/
89 rm -rf $(files_to_clean)
91 conf.c: confitems_lookup.c envtoconfitems_lookup.c
93 $(zlib_objs): CPPFLAGS += -include config.h
95 zlib/libz.a: $(zlib_objs)
96 $(AR) cr $@ $(zlib_objs)
100 perf: ccache$(EXEEXT)
101 $(srcdir)/perf/perf.py --ccache ccache$(EXEEXT) $(CC) $(all_cppflags) $(all_cflags) $(srcdir)/src/ccache.c
104 test: ccache$(EXEEXT) unittest/run$(EXEEXT)
105 unittest/run$(EXEEXT)
106 CC='$(CC)' $(BASH) $(srcdir)/test/run
109 unittest: unittest/run$(EXEEXT)
110 unittest/run$(EXEEXT)
112 unittest/run$(EXEEXT): $(base_objs) $(test_objs) $(extra_libs)
113 $(CC) $(all_cflags) -o $@ $(base_objs) $(test_objs) $(LDFLAGS) $(extra_libs) $(LIBS)
115 unittest/main.o: unittest/suites.h
117 unittest/suites.h: $(test_suites) Makefile
118 sed -n 's/TEST_SUITE(\(.*\))/SUITE(\1)/p' $(test_suites) >$@
125 rm -rf $(files_to_distclean)
128 installcheck: ccache$(EXEEXT) unittest/run$(EXEEXT)
129 unittest/run$(EXEEXT)
130 CCACHE=$(bindir)/ccache CC='$(CC)' $(BASH) $(srcdir)/test/run
133 $(CC) $(all_cppflags) $(all_cflags) -c -o $@ $<