summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2010-05-18 17:11:09 +0200
committerantirez <antirez@gmail.com>2010-05-18 17:11:09 +0200
commit4f6fc6dfb13ba65a88b3976814f41f5f5ce24dc0 (patch)
tree9031cf1936722715aba14135781e05cec1af8592 /Makefile
hiredis was extracted from redis-tools, reverted to standard malloc/free, ported to the new protocol, and started as a stand alone project in order to support the need of a C client in the Redis community
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile53
1 files changed, 53 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..ee73a1a
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,53 @@
+# Hiredis Makefile
+# Copyright (C) 2010 Salvatore Sanfilippo <antirez at gmail dot com>
+# This file is released under the BSD license, see the COPYING file
+
+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 = anet.o hiredis.o sds.o example.o
+
+PRGNAME = hiredis-example
+
+all: hiredis-example
+
+# Deps (use make dep to generate this)
+anet.o: anet.c fmacros.h anet.h
+hiredis.o: hiredis.c hiredis.h sds.h anet.h
+sds.o: sds.c sds.h
+
+hiredis-example: $(OBJ)
+ $(CC) -o $(PRGNAME) $(CCOPT) $(DEBUG) $(OBJ)
+
+.c.o:
+ $(CC) -c $(CFLAGS) $(DEBUG) $(COMPILE_TIME) $<
+
+clean:
+ rm -rf $(PRGNAME) *.o *.gcda *.gcno *.gcov
+
+dep:
+ $(CC) -MM *.c
+
+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=""