polardbxengine/plugin/innodb_memcached/daemon_memcached/win32/Makefile.mingw

196 lines
6.2 KiB
Makefile

# Hard coded Makefile for windows
#
# Tip: If you want to be able to build 32bit and 64 bit versions
# on the same machine you can install libevent and pthreads in
# let's say: /usr/local32 and /usr/local64 and you should
# be able to compile with:
# make -f win32/Makefile.mingw LOCAL=/usr/local32
# make -f win32/Makefile.mingw LOCAL=/usr/local64 CC=x86_64-w64-mingw32-gcc
#
CC = gcc
LOCAL=/usr/local
LOCALLIB=-L${LOCAL}/lib
LOCALINC=-I${LOCAL}/include
DEST=${LOCAL}
INSTALLDIRS=${DEST}/bin ${DEST}/lib ${DEST}/include/memcached
OBJDIR = .libs \
.libs/engines \
.libs/daemon \
.libs/engines/default_engine \
.libs/extensions/daemon \
.libs/extensions/loggers \
.libs/extensions/protocol \
.libs/programs \
.libs/testsuite \
.libs/utilities \
.libs/win32
BINARIES= mcstat.exe \
memcached.exe \
engine_testapp.exe \
sizes.exe \
.libs/ascii_scrub.so \
.libs/basic_engine_testsuite.so \
.libs/default_engine.so \
.libs/example_protocol.so \
.libs/eventlog_logger.so \
.libs/stdin_term_handler.so
LIB=${LOCALLIB}
INCLUDE=-Iinclude -I. -Idaemon -Iprograms -Iextensions -Iwin32 -I.libs ${LOCALINC}
all: ${BINARIES}
install: ${BINARIES} ${INSTALLDIRS}
cp memcached.exe .libs/default_engine.so .libs/ascii_scrub.so ${DEST}/lib
cp mcstat.exe ${DEST}/bin
cp include/memcached/* ${DEST}/include/memcached
CFLAGS = -std=gnu99 -O2 -g -DNDEBUG -fno-strict-aliasing -Wall \
-Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations \
-Wredundant-decls \
${INCLUDE} -DHAVE_CONFIG_H
MCSTAT_SRC = programs/mcstat.c win32/win32.c
MCSTAT_OBJS = ${MCSTAT_SRC:%.c=.libs/%.o}
MEMCACHED_SRC = \
daemon/cache.c \
daemon/hash.c \
daemon/isasl.c \
daemon/memcached.c \
daemon/sasl_defs.c \
daemon/stats.c \
daemon/thread.c \
daemon/topkeys.c \
utilities/config_parser.c \
utilities/engine_loader.c \
utilities/extension_loggers.c\
utilities/genhash.c \
utilities/util.c \
win32/defs.c \
win32/dlfcn.c \
win32/win32.c
MEMCACHED_OBJS = ${MEMCACHED_SRC:%.c=.libs/%.o}
ENGINE_TESTAPP_SRC = \
programs/engine_testapp.c \
programs/mock_server.c \
utilities/config_parser.c \
utilities/engine_loader.c \
utilities/extension_loggers.c \
utilities/util.c \
win32/dlfcn.c
ENGINE_TESTAPP_OBJS = ${ENGINE_TESTAPP_SRC:%.c=.libs/%.o}
SIZES_SRC = programs/sizes.c
SIZES_OBJS = ${SIZES_SRC:%.c=.libs/%.o}
DEFAULT_ENGINE_SRC = \
engines/default_engine/assoc.c \
engines/default_engine/default_engine.c \
engines/default_engine/items.c \
engines/default_engine/slabs.c \
utilities/util.c
DEFAULT_ENGINE_OBJS = ${DEFAULT_ENGINE_SRC:%.c=.libs/%.o}
ASCII_SCRUB_SRC = extensions/protocol/ascii_scrub.c
ASCII_SCRUB_OBJS = ${ASCII_SCRUB_SRC:%.c=.libs/%.o}
EXAMPLE_PROTOCOL_SRC = extensions/protocol/example_protocol.c
EXAMPLE_PROTOCOL_OBJS = ${EXAMPLE_PROTOCOL_SRC:%.c=.libs/%.o}
STDIN_TERM_HANDLER_SRC = extensions/daemon/stdin_check.c
STDIN_TERM_HANDLER_OBJS = ${STDIN_TERM_HANDLER_SRC:%.c=.libs/%.o}
EVENTLOG_LOGGER_SRC = extensions/loggers/eventlog_logger.c
EVENTLOG_LOGGER_OBJS = ${EVENTLOG_LOGGER_SRC:%.c=.libs/%.o}
BASIC_ENGINE_TESTSUITE_SRC = testsuite/basic_engine_testsuite.c
BASIC_ENGINE_TESTSUITE_OBJS = ${BASIC_ENGINE_TESTSUITE_SRC:%.c=.libs/%.o}
GENFILES=.libs/config_version.h
mcstat.exe: ${OBJDIR} ${GENFILES} $(MCSTAT_OBJS)
${LINK.c} -o $@ $(MCSTAT_OBJS) \
${LIB} -lmswsock -lws2_32
memcached.exe: ${OBJDIR} ${GENFILES} $(MEMCACHED_OBJS)
${LINK.c} -o $@ $(MEMCACHED_OBJS) \
${LIB} -levent -lmswsock \
-lws2_32 -lpthread
engine_testapp.exe: ${OBJDIR} ${GENFILES} $(ENGINE_TESTAPP_OBJS)
${LINK.c} -o $@ $(ENGINE_TESTAPP_OBJS) \
${LIB} -levent -lmswsock \
-lws2_32 -lpthread
sizes.exe: ${OBJDIR} ${GENFILES} $(SIZES_OBJS)
${LINK.c} -o $@ $(SIZES_OBJS)
.libs/default_engine.so: ${OBJDIR} $(DEFAULT_ENGINE_OBJS)
${LINK.c} -o $@ -shared ${DEFAULT_ENGINE_OBJS} \
${LIB} -lws2_32 -lpthread
.libs/ascii_scrub.so: ${OBJDIR} $(ASCII_SCRUB_OBJS)
${LINK.c} -o $@ -shared ${ASCII_SCRUB_OBJS}
.libs/example_protocol.so: ${OBJDIR} $(EXAMPLE_PROTOCOL_OBJS)
${LINK.c} -o $@ -shared ${EXAMPLE_PROTOCOL_OBJS}
.libs/stdin_term_handler.so: ${OBJDIR} $(STDIN_TERM_HANDLER_OBJS)
${LINK.c} -o $@ -shared ${STDIN_TERM_HANDLER_OBJS} ${LIBS} \
${LIB} -lpthread
.libs/eventlog_logger.so: ${OBJDIR} $(EVENTLOG_LOGGER_OBJS)
${LINK.c} -o $@ -shared ${EVENTLOG_LOGGER_OBJS} ${LIBS} \
${LIB}
.libs/basic_engine_testsuite.so: ${OBJDIR} $(BASIC_ENGINE_TESTSUITE_OBJS)
${LINK.c} -o $@ -shared ${BASIC_ENGINE_TESTSUITE_OBJS} ${LIB} -lpthread -lws2_32
.libs/config_version.h:
./win32/config.sh
${OBJDIR} ${INSTALLDIRS}:; -@mkdir -p $@
.libs/%.o: %.c
${COMPILE.c} -MMD $< -o $@
clean:
$(RM) ${BINARIES} \
${ASCII_SCRUB_OBJS:.o=.d} \
${ASCII_SCRUB_OBJS} \
${BASIC_ENGINE_TESTSUITE_OBJS:.o=.d} \
${BASIC_ENGINE_TESTSUITE_OBJS} \
${DEFAULT_ENGINE_OBJS:.o=.d} \
${DEFAULT_ENGINE_OBJS} \
${ENGINE_TESTAPP_OBJS:.o=.d} \
${ENGINE_TESTAPP_OBJS} \
${EXAMPLE_PROTOCOL_OBJS:.o=.d} \
${EXAMPLE_PROTOCOL_OBJS} \
${GENFILES} \
${MCSTAT_OBJS:.o=.d} \
${MCSTAT_OBJS} \
${MEMCACHED_OBJS:.o=.d} \
${MEMCACHED_OBJS} \
${SIZES_OBJS:.o=.d} \
${SIZES_OBJS} \
${EVENTLOG_LOGGER_OBJS:.o=.d} \
${EVENTLOG_LOGGER_OBJS} \
${STDIN_TERM_HANDLER_OBJS:.o=.d} \
${STDIN_TERM_HANDLER_OBJS}
-include ${ASCII_SCRUB_OBJS:.o=.d} \
${BASIC_ENGINE_TESTSUITE_OBJS:.o=.d} \
${DEFAULT_ENGINE_OBJS:.o=.d} \
${ENGINE_TESTAPP_OBJS:.o=.d} \
${EXAMPLE_PROTOCOL_OBJS:.o=.d} \
${MEMCACHED_OBJS:.o=.d} \
${MCSTAT_OBJS:.o=.d} \
${SIZES_OBJS:.o=.d} \
${EVENTLOG_LOGGER_OBJS:.o=.d} \
${STDIN_TERM_HANDLER_OBJS:.o=.d}