From 4e07580a4cee715447ee54aa6164c795ed358436 Mon Sep 17 00:00:00 2001 From: Nicolas Favre-Felix Date: Mon, 15 Aug 2011 23:00:50 +0100 Subject: [PATCH] Better Makefile for MessagePack --- Makefile | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/Makefile b/Makefile index 1adde05..876271d 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,28 @@ OUT=webdis HIREDIS_OBJ=hiredis/hiredis.o hiredis/sds.o hiredis/net.o hiredis/async.o -JANSSON_OBJ=jansson/src/dump.o jansson/src/error.o jansson/src/hashtable.o jansson/src/load.o jansson/src/strbuffer.o jansson/src/utf.o jansson/src/value.o jansson/src/variadic.o +JANSSON_OBJ=jansson/src/dump.o jansson/src/error.o jansson/src/hashtable.o jansson/src/load.o jansson/src/strbuffer.o jansson/src/utf.o jansson/src/value.o jansson/src/variadic.o FORMAT_OBJS=formats/json.o formats/raw.o formats/common.o formats/custom-type.o formats/bson.o HTTP_PARSER_OBJS=http-parser/http_parser.o -DEPS=$(FORMAT_OBJS) $(HIREDIS_OBJ) $(JANSSON_OBJ) $(HTTP_PARSER_OBJS) -OBJS=webdis.o cmd.o worker.o slog.o server.o libb64/cencode.o acl.o md5/md5.o http.o client.o websocket.o pool.o conf.o $(DEPS) CFLAGS=-O3 -Wall -Wextra -I. -Ijansson/src -Ihttp-parser LDFLAGS=-levent -pthread +# check for MessagePack +MSGPACK_LIB=$(shell ls /usr/lib/libmsgpack.so) +ifneq ($(strip $(MSGPACK_LIB)),) + FORMAT_OBJS += formats/msgpack.o + CFLAGS += -DMSGPACK=1 + LDFLAGS += -lmsgpack +else + CFLAGS += -DMSGPACK=0 +endif + + +DEPS=$(FORMAT_OBJS) $(HIREDIS_OBJ) $(JANSSON_OBJ) $(HTTP_PARSER_OBJS) +OBJS=webdis.o cmd.o worker.o slog.o server.o libb64/cencode.o acl.o md5/md5.o http.o client.o websocket.o pool.o conf.o $(DEPS) + + + PREFIX ?= /usr/local CONFDIR ?= $(DESTDIR)/etc @@ -17,20 +31,7 @@ INSTALL_DIRS = $(DESTDIR) \ $(DESTDIR)/$(PREFIX)/bin \ $(CONFDIR) -all: .CHECK_FOR_MSGPACK - -.CHECK_FOR_MSGPACK: - @if [ -f /usr/lib/libmsgpack.so ]; then make .WITH_MSGPACK; else make .WITHOUT_MSGPACK ; fi - -.WITH_MSGPACK: - @echo "Building with MsgPack support" - @make CFLAGS="$(CFLAGS) -DMSGPACK=1" FORMAT_OBJS="$(FORMAT_OBJS) formats/msgpack.o" .REAL_BUILD - -.WITHOUT_MSGPACK: - @echo "Building without MsgPack support" - @make .REAL_BUILD - -.REAL_BUILD: $(OUT) Makefile +all: $(OUT) Makefile $(OUT): $(OBJS) Makefile $(CC) $(LDFLAGS) -o $(OUT) $(OBJS)