xref: /memcached-1.4.29/Makefile.am (revision dd11bde8)
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                    slabs.c slabs.h \
14                    items.c items.h \
15                    assoc.c assoc.h \
16                    thread.c daemon.c \
17                    stats.c stats.h \
18                    util.c util.h \
19                    trace.h cache.h
20
21if BUILD_CACHE
22memcached_SOURCES += cache.c
23testapp_SOURCES += cache.c
24endif
25
26if BUILD_SOLARIS_PRIVS
27memcached_SOURCES += solaris_priv.c
28endif
29
30if ENABLE_SASL
31memcached_SOURCES += sasl_defs.c
32endif
33
34memcached_debug_SOURCES = $(memcached_SOURCES)
35memcached_CPPFLAGS = -DNDEBUG
36memcached_debug_LDADD = @PROFILER_LDFLAGS@
37memcached_debug_CFLAGS = @PROFILER_FLAGS@
38
39memcached_LDADD =
40memcached_DEPENDENCIES =
41memcached_debug_DEPENDENCIES =
42CLEANFILES=
43
44if BUILD_DTRACE
45BUILT_SOURCES += memcached_dtrace.h
46CLEANFILES += memcached_dtrace.h
47endif
48
49if DTRACE_INSTRUMENT_OBJ
50memcached_LDADD += memcached_dtrace.o
51memcached_DEPENDENCIES += memcached_dtrace.o
52memcached_debug_LDADD += memcached_debug_dtrace.o
53memcached_debug_DEPENDENCIES += memcached_debug_dtrace.o
54CLEANFILES += memcached_dtrace.o memcached_debug_dtrace.o
55endif
56
57memcached_dtrace.h: memcached_dtrace.d
58	${DTRACE} -h -s memcached_dtrace.d
59	sed -e 's,void \*,const void \*,g' memcached_dtrace.h | \
60            sed -e 's,char \*,const char \*,g' | tr '\t' ' ' > mmc_dtrace.tmp
61	mv mmc_dtrace.tmp memcached_dtrace.h
62
63memcached_dtrace.o: $(memcached_OBJECTS)
64	$(DTRACE) $(DTRACEFLAGS) -G -o memcached_dtrace.o -s ${srcdir}/memcached_dtrace.d $(memcached_OBJECTS)
65
66memcached_debug_dtrace.o: $(memcached_debug_OBJECTS)
67	$(DTRACE) $(DTRACEFLAGS) -G -o memcached_debug_dtrace.o -s ${srcdir}/memcached_dtrace.d $(memcached_debug_OBJECTS)
68
69
70SUBDIRS = doc
71DIST_DIRS = scripts
72EXTRA_DIST = doc scripts t memcached.spec memcached_dtrace.d version.m4
73
74MOSTLYCLEANFILES = *.gcov *.gcno *.gcda *.tcov
75
76test:	memcached-debug sizes testapp
77	$(srcdir)/sizes
78	$(srcdir)/testapp
79	prove $(srcdir)/t
80	@if test `basename $(PROFILER)` = "gcov"; then \
81	  for file in memcached_debug-*.gc??; do \
82	    mv -f $$file `echo $$file | sed 's/memcached_debug-//'`; \
83	  done && \
84	  for file in *.gcda; do \
85	    srcfile=`echo $$file | sed 's/.gcda/.c/'`; \
86	    if test -n "`echo $(memcached_debug_SOURCES) | grep $$srcfile`"; then \
87	      echo `$(PROFILER) $$srcfile` | sed 's/'$$srcfile':.*//'; \
88	    fi \
89	  done \
90	elif test `basename $(PROFILER)` = "tcov"; then \
91	  files=`grep SRCFILE memcached-debug.profile/tcovd | sed 's/SRCFILE://' | sort | uniq` && \
92	  $(PROFILER) -x memcached-debug.profile $$files 2>&1; \
93	  for file in *.tcov; do \
94	    srcfile=`echo $$file | sed 's/.tcov//'`; \
95	    if test -n "`echo $(memcached_debug_SOURCES) | grep $$srcfile`"; then \
96	      echo $$srcfile : `grep 'Percent of the file executed' $$file`; \
97	    fi \
98	  done \
99	else :; fi
100
101docs:
102	(cat Doxyfile ; echo "PROJECT_NUMBER=`cat version.num`") | doxygen -
103
104dist-hook:
105	rm -f $(distdir)/*/*~ $(distdir)/t/lib/*~ $(distdir)/*~
106