Imported Upstream version 3.5.1
[platform/upstream/ccache.git] / Makefile.in
1 srcdir = @srcdir@
2 builddir = @builddir@
3 VPATH = @srcdir@
4
5 prefix = @prefix@
6 exec_prefix = @exec_prefix@
7 bindir = @bindir@
8 mandir = @mandir@
9 datarootdir = @datarootdir@
10 sysconfdir = @sysconfdir@
11 installcmd = @INSTALL@
12
13 AR = @AR@
14 BASH = @BASH@
15 CC = @CC@
16 CFLAGS = @CFLAGS@
17 CPPFLAGS = @CPPFLAGS@
18 EXEEXT = @EXEEXT@
19 LDFLAGS = @LDFLAGS@
20 LIBS = @LIBS@
21 RANLIB = @RANLIB@
22
23 all_cflags = $(CFLAGS)
24 all_cppflags = @DEFS@ -DSYSCONFDIR=$(sysconfdir) -I. -I$(srcdir)/src -I$(builddir)/unittest $(CPPFLAGS)
25 extra_libs = @extra_libs@
26
27 v_at_0 = yes
28 v_at_ = $(v_at_0)
29 quiet := $(v_at_$(V))
30 Q=$(if $(quiet),@)
31
32 non_3pp_sources = \
33     src/args.c \
34     src/ccache.c \
35     src/cleanup.c \
36     src/compopt.c \
37     src/conf.c \
38     src/confitems.c \
39     src/counters.c \
40     src/execute.c \
41     src/exitfn.c \
42     src/hash.c \
43     src/hashutil.c \
44     src/language.c \
45     src/lockfile.c \
46     src/manifest.c \
47     src/mdfour.c \
48     src/stats.c \
49     src/unify.c \
50     src/util.c
51 generated_sources = \
52     src/version.c
53 3pp_sources = \
54     @getopt_long_c@ \
55     src/confitems_lookup.c \
56     src/envtoconfitems_lookup.c \
57     src/hashtable.c \
58     src/hashtable_itr.c \
59     src/murmurhashneutral2.c \
60     src/snprintf.c
61 base_sources = $(non_3pp_sources) $(generated_sources) $(3pp_sources)
62 base_objs = $(base_sources:.c=.o)
63
64 ccache_sources = src/main.c $(base_sources)
65 ccache_objs = $(ccache_sources:.c=.o)
66
67 zlib_sources = \
68     src/zlib/adler32.c \
69     src/zlib/crc32.c \
70     src/zlib/deflate.c \
71     src/zlib/gzclose.c \
72     src/zlib/gzlib.c \
73     src/zlib/gzread.c \
74     src/zlib/gzwrite.c \
75     src/zlib/inffast.c \
76     src/zlib/inflate.c \
77     src/zlib/inftrees.c \
78     src/zlib/trees.c \
79     src/zlib/zutil.c
80
81 zlib_objs = $(zlib_sources:.c=.o)
82
83 test_suites = @test_suites@
84 test_sources = unittest/main.c unittest/framework.c unittest/util.c
85 test_sources += $(test_suites)
86 test_objs = $(test_sources:.c=.o)
87
88 all_sources = $(ccache_sources) $(test_sources)
89 all_objs = $(ccache_objs) $(test_objs) $(zlib_objs)
90
91 files_to_clean = \
92     $(all_objs) \
93     ccache$(EXEEXT) \
94     src/*~ \
95     src/zlib/libz.a \
96     testdir.* \
97     unittest/run$(EXEEXT) \
98     *~
99
100 files_to_distclean = Makefile config.h config.log config.status
101
102 .PHONY: all
103 all: ccache$(EXEEXT)
104
105 ccache$(EXEEXT): $(ccache_objs) $(extra_libs)
106         $(if $(quiet),@echo "  LD       $@")
107         $(Q)$(CC) -o $@ $(ccache_objs) $(LDFLAGS) $(extra_libs) $(LIBS)
108
109 ccache.1: doc/ccache.1
110         $(if $(quiet),@echo "  CP       $@")
111         $(Q)cp $< $@
112
113 .PHONY: install
114 install: ccache$(EXEEXT) @disable_man@ccache.1
115         $(if $(quiet),@echo "  INSTALL  ccache$(EXEEXT)")
116         $(Q)$(installcmd) -d $(DESTDIR)$(bindir)
117         $(Q)$(installcmd) -m 755 ccache$(EXEEXT) $(DESTDIR)$(bindir)
118 @disable_man@   $(if $(quiet),@echo "  INSTALL  ccache.1")
119 @disable_man@   $(Q)$(installcmd) -d $(DESTDIR)$(mandir)/man1
120 @disable_man@   $(Q)-$(installcmd) -m 644 ccache.1 $(DESTDIR)$(mandir)/man1/
121
122 .PHONY: clean
123 clean:
124         rm -rf $(files_to_clean)
125
126 src/snprintf.o: CFLAGS += @no_implicit_fallthrough_warning@
127 $(zlib_objs): CPPFLAGS += -include config.h
128 $(zlib_objs): CFLAGS += @no_implicit_fallthrough_warning@
129
130 src/zlib/libz.a: $(zlib_objs)
131         $(if $(quiet),@echo "  AR       $@")
132         $(Q)$(AR) cr $@ $(zlib_objs)
133         $(if $(quiet),@echo "  RANLIB   $@")
134         $(Q)$(RANLIB) $@
135
136 .PHONY: perf
137 perf: ccache$(EXEEXT)
138         $(srcdir)/perf/perf.py --ccache ccache$(EXEEXT) $(CC) $(all_cppflags) $(all_cflags) $(srcdir)/src/ccache.c
139
140 .PHONY: test
141 test: ccache$(EXEEXT) unittest/run$(EXEEXT)
142         $(if $(quiet),@echo "  TEST     unittest/run$(EXEEXT)")
143         $(Q)unittest/run$(EXEEXT)
144         $(if $(quiet),@echo "  TEST     $(srcdir)/test/run")
145         $(Q)CC='$(CC)' $(BASH) $(srcdir)/test/run
146
147 .PHONY: unittest
148 unittest: unittest/run$(EXEEXT)
149         $(if $(quiet),@echo "  TEST     $@")
150         $(Q)unittest/run$(EXEEXT)
151
152 unittest/run$(EXEEXT): $(base_objs) $(test_objs) $(extra_libs)
153         $(if $(quiet),@echo "  LD       $@")
154         $(Q)$(CC) -o $@ $(base_objs) $(test_objs) $(LDFLAGS) $(extra_libs) $(LIBS)
155
156 unittest/main.o: unittest/suites.h
157
158 unittest/suites.h: $(test_suites) Makefile
159         $(if $(quiet),@echo "  GEN      $@")
160         $(Q)ls $^ | grep -v Makefile | xargs sed -n 's/TEST_SUITE(\(.*\))/SUITE(\1)/p' >$@
161
162 .PHONY: check
163 check: test
164
165 .PHONY: distclean
166 distclean: clean
167         rm -rf $(files_to_distclean)
168
169 .PHONY: installcheck
170 installcheck: ccache$(EXEEXT) unittest/run$(EXEEXT)
171         unittest/run$(EXEEXT)
172         CCACHE=$(bindir)/ccache CC='$(CC)' $(BASH) $(srcdir)/test/run
173
174 .c.o:
175         $(if $(quiet),@echo "  CC       $@")
176         $(Q)$(CC) $(all_cppflags) $(all_cflags) -c -o $@ $<
177
178 @include_dev_mk@