X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/98d2e23be23f9af02653672081896747baf985f7..4e0d34089ac874db92430820b9fe5ce8426c2ae5:/Makefile diff --git a/Makefile b/Makefile index 0d7cd28f..f6790945 100644 --- a/Makefile +++ b/Makefile @@ -1,113 +1,14 @@ -# Redis Makefile -# Copyright (C) 2009 Salvatore Sanfilippo -# This file is released under the BSD license, see the COPYING file +# Top level makefile, the real shit is at src/Makefile -uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') -OPTIMIZATION?=-O2 -ifeq ($(uname_S),SunOS) - CFLAGS?= -std=c99 -pedantic $(OPTIMIZATION) -Wall -W -D__EXTENSIONS__ -D_XPG6 - CCLINK?= -ldl -lnsl -lsocket -lm -lpthread -else - CFLAGS?= -std=c99 -pedantic $(OPTIMIZATION) -Wall -W $(ARCH) $(PROF) - CCLINK?= -lm -pthread -endif -CCOPT= $(CFLAGS) $(CCLINK) $(ARCH) $(PROF) -DEBUG?= -g -rdynamic -ggdb -HOST?= 127.0.0.1 -PORT?= 6379 +TARGETS=32bit noopt test -OBJ = adlist.o ae.o anet.o dict.o redis.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o zipmap.o -BENCHOBJ = ae.o anet.o redis-benchmark.o sds.o adlist.o zmalloc.o -CLIOBJ = anet.o sds.o adlist.o redis-cli.o zmalloc.o linenoise.o -CHECKDUMPOBJ = redis-check-dump.o lzf_c.o lzf_d.o -CHECKAOFOBJ = redis-check-aof.o +all: + cd src && $(MAKE) $@ -PRGNAME = redis-server -BENCHPRGNAME = redis-benchmark -CLIPRGNAME = redis-cli -CHECKDUMPPRGNAME = redis-check-dump -CHECKAOFPRGNAME = redis-check-aof +install: dummy + cd src && $(MAKE) $@ -all: redis-server redis-benchmark redis-cli redis-check-dump redis-check-aof +$(TARGETS) clean: + cd src && $(MAKE) $@ -# Deps (use make dep to generate this) -adlist.o: adlist.c adlist.h zmalloc.h -ae.o: ae.c ae.h zmalloc.h config.h ae_kqueue.c -ae_epoll.o: ae_epoll.c -ae_kqueue.o: ae_kqueue.c -ae_select.o: ae_select.c -anet.o: anet.c fmacros.h anet.h -dict.o: dict.c fmacros.h dict.h zmalloc.h -linenoise.o: linenoise.c -lzf_c.o: lzf_c.c lzfP.h -lzf_d.o: lzf_d.c lzfP.h -pqsort.o: pqsort.c -redis-benchmark.o: redis-benchmark.c fmacros.h ae.h anet.h sds.h adlist.h \ - zmalloc.h -redis-check-dump.o: redis-check-dump.c lzf.h -redis-cli.o: redis-cli.c fmacros.h anet.h sds.h adlist.h zmalloc.h \ - linenoise.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 zipmap.h staticsymbols.h -sds.o: sds.c sds.h zmalloc.h -zipmap.o: zipmap.c zmalloc.h -zmalloc.o: zmalloc.c config.h - -redis-server: $(OBJ) - $(CC) -o $(PRGNAME) $(CCOPT) $(DEBUG) $(OBJ) - @echo "" - @echo "Hint: To run the test-redis.tcl script is a good idea." - @echo "Launch the redis server with ./redis-server, then in another" - @echo "terminal window enter this directory and run 'make test'." - @echo "" - -redis-benchmark: $(BENCHOBJ) - $(CC) -o $(BENCHPRGNAME) $(CCOPT) $(DEBUG) $(BENCHOBJ) - -redis-cli: $(CLIOBJ) - $(CC) -o $(CLIPRGNAME) $(CCOPT) $(DEBUG) $(CLIOBJ) - -redis-check-dump: $(CHECKDUMPOBJ) - $(CC) -o $(CHECKDUMPPRGNAME) $(CCOPT) $(DEBUG) $(CHECKDUMPOBJ) - -redis-check-aof: $(CHECKAOFOBJ) - $(CC) -o $(CHECKAOFPRGNAME) $(CCOPT) $(DEBUG) $(CHECKAOFOBJ) - -.c.o: - $(CC) -c $(CFLAGS) $(DEBUG) $(COMPILE_TIME) $< - -clean: - rm -rf $(PRGNAME) $(BENCHPRGNAME) $(CLIPRGNAME) $(CHECKDUMPPRGNAME) $(CHECKAOFPRGNAME) *.o *.gcda *.gcno *.gcov - -dep: - $(CC) -MM *.c - -staticsymbols: - tclsh utils/build-static-symbols.tcl > staticsymbols.h - -test: - tclsh8.5 test-redis.tcl -p $(PORT) -h $(HOST) - -bench: - ./redis-benchmark - -log: - git log '--pretty=format:%ad %s (%cn)' --date=short > Changelog - -32bit: - @echo "" - @echo "WARNING: if it fails under Linux you probably need to install libc6-dev-i386" - @echo "" - make ARCH="-m32" - -gprof: - make PROF="-pg" - -gcov: - make PROF="-fprofile-arcs -ftest-coverage" - -noopt: - make OPTIMIZATION="" - -32bitgprof: - make PROF="-pg" ARCH="-arch i386" +dummy: