
networking related stuff moved into networking.c moved more code more work on layout of source code SDS instantaneuos memory saving. By Pieter and Salvatore at VMware ;) cleanly compiling again after the first split, now splitting it in more C files moving more things around... work in progress split replication code splitting more Sets split Hash split replication split even more splitting more splitting minor change
112 lines
3.3 KiB
Makefile
112 lines
3.3 KiB
Makefile
# Redis Makefile
|
|
# Copyright (C) 2009 Salvatore Sanfilippo <antirez at gmail dot com>
|
|
# This file is released under the BSD license, see the COPYING file
|
|
|
|
release_hdr := $(shell sh -c './mkreleasehdr.sh')
|
|
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
|
|
|
|
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 sha1.o ziplist.o release.o networking.o util.o object.o db.o replication.o rdb.o t_string.o t_list.o t_set.o t_zset.o t_hash.o config.o aof.o vm.o pubsub.o multi.o debug.o sort.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
|
|
|
|
PRGNAME = redis-server
|
|
BENCHPRGNAME = redis-benchmark
|
|
CLIPRGNAME = redis-cli
|
|
CHECKDUMPPRGNAME = redis-check-dump
|
|
CHECKAOFPRGNAME = redis-check-aof
|
|
|
|
all: redis-server redis-benchmark redis-cli redis-check-dump redis-check-aof
|
|
|
|
# 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 fmacros.h
|
|
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-aof.o: redis-check-aof.c fmacros.h config.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 ziplist.h sha1.h
|
|
release.o: release.c release.h
|
|
sds.o: sds.c sds.h zmalloc.h
|
|
sha1.o: sha1.c sha1.h
|
|
ziplist.o: ziplist.c zmalloc.h ziplist.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 'make test' is a good idea ;)"
|
|
@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
|
|
|
|
test:
|
|
(cd ..; tclsh8.5 tests/test_helper.tcl --tags "${TAGS}")
|
|
|
|
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"
|