X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/325d1eb4a86b59eaa8c867b2bb0a7a827d98aaf0..38aba9a12124bc57567a452b1a371bf0bedd5b6e:/Makefile?ds=sidebyside diff --git a/Makefile b/Makefile index 43d27323..c036e10c 100644 --- a/Makefile +++ b/Makefile @@ -5,11 +5,12 @@ uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') ifeq ($(uname_S),SunOS) CFLAGS?= -std=c99 -pedantic -O2 -Wall -W -D__EXTENSIONS__ -D_XPG6 - CCLINK?= -ldl -lnsl -lsocket + CCLINK?= -ldl -lnsl -lsocket -lm else - CFLAGS?= -std=c99 -pedantic -O2 -Wall -W + CFLAGS?= -std=c99 -pedantic -O2 -Wall -W $(ARCH) $(PROF) + CCLINK?= -lm endif -CCOPT= $(CFLAGS) $(CCLINK) $(ARCH) +CCOPT= $(CFLAGS) $(CCLINK) $(ARCH) $(PROF) DEBUG?= -g -rdynamic -ggdb OBJ = adlist.o ae.o anet.o dict.o redis.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o @@ -24,7 +25,8 @@ all: redis-server redis-benchmark redis-cli # Deps (use make dep to generate this) adlist.o: adlist.c adlist.h zmalloc.h -ae.o: ae.c ae.h zmalloc.h +ae.o: ae.c ae.h zmalloc.h ae_select.c ae_epoll.c +ae_select.o: ae_select.c anet.o: anet.c fmacros.h anet.h benchmark.o: benchmark.c fmacros.h ae.h anet.h sds.h adlist.h zmalloc.h dict.o: dict.c fmacros.h dict.h zmalloc.h @@ -32,7 +34,8 @@ lzf_c.o: lzf_c.c lzfP.h lzf_d.o: lzf_d.c lzfP.h pqsort.o: pqsort.c redis-cli.o: redis-cli.c fmacros.h anet.h sds.h adlist.h zmalloc.h -redis.o: redis.c fmacros.h ae.h sds.h anet.h dict.h adlist.h zmalloc.h lzf.h pqsort.h config.h +redis.o: redis.c fmacros.h config.h redis.h ae.h sds.h anet.h dict.h \ + adlist.h zmalloc.h lzf.h pqsort.h staticsymbols.h sds.o: sds.c sds.h zmalloc.h zmalloc.o: zmalloc.c config.h @@ -54,11 +57,14 @@ redis-cli: $(CLIOBJ) $(CC) -c $(CFLAGS) $(DEBUG) $(COMPILE_TIME) $< clean: - rm -rf $(PRGNAME) $(BENCHPRGNAME) $(CLIPRGNAME) *.o + rm -rf $(PRGNAME) $(BENCHPRGNAME) $(CLIPRGNAME) *.o *.gcda *.gcno *.gcov dep: $(CC) -MM *.c +staticsymbols: + tclsh utils/build-static-symbols.tcl > staticsymbols.h + test: tclsh test-redis.tcl @@ -70,3 +76,12 @@ log: 32bit: make ARCH="-arch i386" + +gprof: + make PROF="-pg" + +gcov: + make PROF="-fprofile-arcs -ftest-coverage" + +32bitgprof: + make PROF="-pg" ARCH="-arch i386"