Imported Upstream version 3.4
[platform/upstream/ccache.git] / Makefile.in
1 srcdir = @srcdir@
2 VPATH = @srcdir@
3
4 prefix = @prefix@
5 exec_prefix = @exec_prefix@
6 bindir = @bindir@
7 mandir = @mandir@
8 datarootdir = @datarootdir@
9 sysconfdir = @sysconfdir@
10 installcmd = @INSTALL@
11
12 AR = @AR@
13 BASH = @BASH@
14 CC = @CC@
15 CFLAGS = @CFLAGS@
16 CPPFLAGS = @CPPFLAGS@
17 EXEEXT = @EXEEXT@
18 LDFLAGS = @LDFLAGS@
19 LIBS = @LIBS@
20 RANLIB = @RANLIB@
21
22 all_cflags = $(CFLAGS)
23 all_cppflags = @DEFS@ -DSYSCONFDIR=$(sysconfdir) -I. -I$(srcdir)/src $(CPPFLAGS)
24 extra_libs = @extra_libs@
25
26 non_3pp_sources = \
27     src/args.c \
28     src/ccache.c \
29     src/cleanup.c \
30     src/compopt.c \
31     src/conf.c \
32     src/counters.c \
33     src/execute.c \
34     src/exitfn.c \
35     src/hash.c \
36     src/hashutil.c \
37     src/language.c \
38     src/lockfile.c \
39     src/manifest.c \
40     src/mdfour.c \
41     src/stats.c \
42     src/unify.c \
43     src/util.c \
44     src/version.c
45 3pp_sources = \
46     src/getopt_long.c \
47     src/hashtable.c \
48     src/hashtable_itr.c \
49     src/murmurhashneutral2.c \
50     src/snprintf.c
51 base_sources = $(non_3pp_sources) $(3pp_sources)
52 base_objs = $(base_sources:.c=.o)
53
54 ccache_sources = src/main.c $(base_sources)
55 ccache_objs = $(ccache_sources:.c=.o)
56
57 zlib_sources = \
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)
62
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)
67
68 all_sources = $(ccache_sources) $(test_sources)
69 all_objs = $(ccache_objs) $(test_objs) $(zlib_objs)
70
71 files_to_clean = $(all_objs) ccache$(EXEEXT) unittest/run$(EXEEXT) *~ testdir.*
72 files_to_distclean = Makefile config.h config.log config.status
73
74 .PHONY: all
75 all: ccache$(EXEEXT)
76
77 ccache$(EXEEXT): $(ccache_objs) $(extra_libs)
78         $(CC) $(all_cflags) -o $@ $(ccache_objs) $(LDFLAGS) $(extra_libs) $(LIBS)
79
80 .PHONY: install
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/
86
87 .PHONY: clean
88 clean:
89         rm -rf $(files_to_clean)
90
91 conf.c: confitems_lookup.c envtoconfitems_lookup.c
92
93 $(zlib_objs): CPPFLAGS += -include config.h
94
95 zlib/libz.a: $(zlib_objs)
96         $(AR) cr $@ $(zlib_objs)
97         $(RANLIB) $@
98
99 .PHONY: perf
100 perf: ccache$(EXEEXT)
101         $(srcdir)/perf/perf.py --ccache ccache$(EXEEXT) $(CC) $(all_cppflags) $(all_cflags) $(srcdir)/src/ccache.c
102
103 .PHONY: test
104 test: ccache$(EXEEXT) unittest/run$(EXEEXT)
105         unittest/run$(EXEEXT)
106         CC='$(CC)' $(BASH) $(srcdir)/test/run
107
108 .PHONY: unittest
109 unittest: unittest/run$(EXEEXT)
110         unittest/run$(EXEEXT)
111
112 unittest/run$(EXEEXT): $(base_objs) $(test_objs) $(extra_libs)
113         $(CC) $(all_cflags) -o $@ $(base_objs) $(test_objs) $(LDFLAGS) $(extra_libs) $(LIBS)
114
115 unittest/main.o: unittest/suites.h
116
117 unittest/suites.h: $(test_suites) Makefile
118         sed -n 's/TEST_SUITE(\(.*\))/SUITE(\1)/p' $(test_suites) >$@
119
120 .PHONY: check
121 check: test
122
123 .PHONY: distclean
124 distclean: clean
125         rm -rf $(files_to_distclean)
126
127 .PHONY: installcheck
128 installcheck: ccache$(EXEEXT) unittest/run$(EXEEXT)
129         unittest/run$(EXEEXT)
130         CCACHE=$(bindir)/ccache CC='$(CC)' $(BASH) $(srcdir)/test/run
131
132 .c.o:
133         $(CC) $(all_cppflags) $(all_cflags) -c -o $@ $<
134
135 @include_dev_mk@