]> git.saurik.com Git - redis.git/blobdiff - Makefile
create release.h in make process and add this information to INFO listing
[redis.git] / Makefile
index c24e27802a88deda383e2c66b9daf72ae8856f29..635cb18930040ed74ea90bf566f8a98f78c138a0 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -13,9 +13,9 @@ else
 endif
 CCOPT= $(CFLAGS) $(CCLINK) $(ARCH) $(PROF)
 DEBUG?= -g -rdynamic -ggdb 
-HOST?= 127.0.0.1
-PORT?= 6379
 
+GIT_SHA1:=$(shell sh -c '(git show-ref --head --hash=8 2> /dev/null || echo 00000000) | head -n1')
+GIT_DIRTY:=$(shell sh -c 'git status -s 2> /dev/null | wc -l')
 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
 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
@@ -53,11 +53,10 @@ redis-cli.o: redis-cli.c fmacros.h anet.h sds.h adlist.h zmalloc.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 sha1.h
 sds.o: sds.c sds.h zmalloc.h
-test.o: test.c dict2.h
 zipmap.o: zipmap.c zmalloc.h
 zmalloc.o: zmalloc.c config.h
 
-redis-server: $(OBJ)
+redis-server: releaseheader $(OBJ)
        $(CC) -o $(PRGNAME) $(CCOPT) $(DEBUG) $(OBJ)
        @echo ""
        @echo "Hint: To run the test-redis.tcl script is a good idea."
@@ -77,6 +76,11 @@ redis-check-dump: $(CHECKDUMPOBJ)
 redis-check-aof: $(CHECKAOFOBJ)
        $(CC) -o $(CHECKAOFPRGNAME) $(CCOPT) $(DEBUG) $(CHECKAOFOBJ)
 
+releaseheader:
+       @echo "#define REDIS_GIT_SHA1 \"$(GIT_SHA1)\"" > release.h
+       @echo "#define REDIS_GIT_DIRTY $(GIT_DIRTY)" >> release.h
+       @touch redis.c # force recompile of redis.c
+
 .c.o:
        $(CC) -c $(CFLAGS) $(DEBUG) $(COMPILE_TIME) $<
 
@@ -90,7 +94,7 @@ staticsymbols:
        tclsh utils/build-static-symbols.tcl > staticsymbols.h
 
 test:
-       tclsh8.5 test-redis.tcl -p $(PORT) -h $(HOST)
+       tclsh8.5 tests/test_helper.tcl
 
 bench:
        ./redis-benchmark