xref: /memcached-1.4.29/Makefile.am (revision 916fff36)
1bin_PROGRAMS = memcached
2pkginclude_HEADERS = protocol_binary.h
3noinst_PROGRAMS = memcached-debug sizes testapp timedrun
4
5BUILT_SOURCES=
6
7testapp_SOURCES = testapp.c util.c util.h
8
9timedrun_SOURCES = timedrun.c
10
11memcached_SOURCES = memcached.c memcached.h \
12                    hash.c hash.h \
13                    jenkins_hash.c jenkins_hash.h \
14                    murmur3_hash.c murmur3_hash.h \
15                    slabs.c slabs.h \
16                    items.c items.h \
17                    assoc.c assoc.h \
18                    thread.c daemon.c \
19                    stats.c stats.h \
20                    util.c util.h \
21                    trace.h cache.h sasl_defs.h \
22                    bipbuffer.c bipbuffer.h \
23                    logger.c logger.h
24
25if BUILD_CACHE
26memcached_SOURCES += cache.c
27testapp_SOURCES += cache.c
28endif
29
30if BUILD_SOLARIS_PRIVS
31memcached_SOURCES += solaris_priv.c
32endif
33
34if ENABLE_SASL
35memcached_SOURCES += sasl_defs.c
36endif
37
38memcached_debug_SOURCES = $(memcached_SOURCES)
39memcached_CPPFLAGS = -DNDEBUG
40memcached_debug_LDADD = @PROFILER_LDFLAGS@
41memcached_debug_CFLAGS = @PROFILER_FLAGS@
42
43memcached_LDADD =
44memcached_DEPENDENCIES =
45memcached_debug_DEPENDENCIES =
46CLEANFILES=
47
48if BUILD_DTRACE
49BUILT_SOURCES += memcached_dtrace.h
50CLEANFILES += memcached_dtrace.h
51endif
52
53if DTRACE_INSTRUMENT_OBJ
54memcached_LDADD += memcached_dtrace.o
55memcached_DEPENDENCIES += memcached_dtrace.o
56memcached_debug_LDADD += memcached_debug_dtrace.o
57memcached_debug_DEPENDENCIES += memcached_debug_dtrace.o
58CLEANFILES += memcached_dtrace.o memcached_debug_dtrace.o
59endif
60
61memcached_dtrace.h: memcached_dtrace.d
62	${DTRACE} -h -s memcached_dtrace.d
63	sed -e 's,void \*,const void \*,g' memcached_dtrace.h | \
64            sed -e 's,char \*,const char \*,g' | tr '\t' ' ' > mmc_dtrace.tmp
65	mv mmc_dtrace.tmp memcached_dtrace.h
66
67memcached_dtrace.o: $(memcached_OBJECTS)
68	$(DTRACE) $(DTRACEFLAGS) -G -o memcached_dtrace.o -s ${srcdir}/memcached_dtrace.d $(memcached_OBJECTS)
69
70memcached_debug_dtrace.o: $(memcached_debug_OBJECTS)
71	$(DTRACE) $(DTRACEFLAGS) -G -o memcached_debug_dtrace.o -s ${srcdir}/memcached_dtrace.d $(memcached_debug_OBJECTS)
72
73
74SUBDIRS = doc
75DIST_DIRS = scripts
76EXTRA_DIST = doc scripts t memcached.spec memcached_dtrace.d version.m4 README.md LICENSE.bipbuffer
77
78MOSTLYCLEANFILES = *.gcov *.gcno *.gcda *.tcov
79
80test:	memcached-debug sizes testapp
81	$(srcdir)/sizes
82	$(srcdir)/testapp
83	prove $(srcdir)/t
84	@if test `basename $(PROFILER)` = "gcov"; then \
85	  for file in memcached_debug-*.gc??; do \
86	    mv -f $$file `echo $$file | sed 's/memcached_debug-//'`; \
87	  done && \
88	  for file in *.gcda; do \
89	    srcfile=`echo $$file | sed 's/.gcda/.c/'`; \
90	    if test -n "`echo $(memcached_debug_SOURCES) | grep $$srcfile`"; then \
91	      echo `$(PROFILER) $$srcfile` | sed 's/'$$srcfile':.*//'; \
92	    fi \
93	  done \
94	elif test `basename $(PROFILER)` = "tcov"; then \
95	  files=`grep SRCFILE memcached-debug.profile/tcovd | sed 's/SRCFILE://' | sort | uniq` && \
96	  $(PROFILER) -x memcached-debug.profile $$files 2>&1; \
97	  for file in *.tcov; do \
98	    srcfile=`echo $$file | sed 's/.tcov//'`; \
99	    if test -n "`echo $(memcached_debug_SOURCES) | grep $$srcfile`"; then \
100	      echo $$srcfile : `grep 'Percent of the file executed' $$file`; \
101	    fi \
102	  done \
103	else :; fi
104
105docs:
106	(cat Doxyfile ; echo "PROJECT_NUMBER=`cat version.num`") | doxygen -
107
108dist-hook:
109	rm -f $(distdir)/*/*~ $(distdir)/t/lib/*~ $(distdir)/*~
110
111maintainer-clean-local:
112	-rm Makefile.in
113	-rm aclocal.m4
114	-rm config.guess
115	-rm config.sub
116	-rm depcomp
117	-rm install-sh
118	-rm ltmain.sh
119	-rm missing
120	-rm configure
121	-rm config.log
122	-rm config.status
123