From ca80a7c8f77f5405cba5b8a52abb1dda78602bf7 Mon Sep 17 00:00:00 2001 From: Przemyslaw Skibinski Date: Wed, 9 Nov 2016 15:19:29 +0100 Subject: create DLL with MinGW/MSYS --- lib/Makefile | 14 ++++++++++---- tests/Makefile | 8 ++++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/lib/Makefile b/lib/Makefile index 3d251dc..6e58bb0 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -70,21 +70,27 @@ else SHARED_EXT_VER = $(SHARED_EXT).$(LIBVER) endif -default: liblz4 +default: all -all: liblz4 +all: liblz4.a liblz4 -liblz4: *.c +liblz4.a: *.c ifeq ($(BUILD_STATIC),yes) @echo compiling static library @$(CC) $(FLAGS) -c $^ - @$(AR) rcs $@.a *.o + @$(AR) rcs $@ *.o endif + +liblz4: *.c @echo compiling dynamic library $(LIBVER) +ifneq (,$(filter Windows%,$(OS))) + @$(CC) $(FLAGS) -shared $^ -o $@.dll -Wl,--out-implib,liblz4.dll.a +else @$(CC) $(FLAGS) -shared $^ -fPIC $(SONAME_FLAGS) -o $@.$(SHARED_EXT_VER) @echo creating versioned links @ln -sf $@.$(SHARED_EXT_VER) $@.$(SHARED_EXT_MAJOR) @ln -sf $@.$(SHARED_EXT_VER) $@.$(SHARED_EXT) +endif clean: @$(RM) -f core *.o *.a *.$(SHARED_EXT) *.$(SHARED_EXT).* liblz4.pc diff --git a/tests/Makefile b/tests/Makefile index d5f9133..586e8f6 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -85,6 +85,14 @@ fullbench : $(LZ4DIR)/lz4.o $(LZ4DIR)/lz4hc.o $(LZ4DIR)/lz4frame.o $(LZ4DIR)/xx fullbench32: $(LZ4DIR)/lz4.c $(LZ4DIR)/lz4hc.c $(LZ4DIR)/lz4frame.c $(LZ4DIR)/xxhash.c fullbench.c $(CC) -m32 $(FLAGS) $^ -o $@$(EXT) +fullbench-lib: fullbench.c $(LZ4DIR)/xxhash.c + $(MAKE) -C $(LZ4DIR) liblz4.a + $(CC) $(FLAGS) $^ -o $@$(EXT) $(LZ4DIR)/liblz4.a + +fullbench-dll: fullbench.c $(LZ4DIR)/xxhash.c + $(MAKE) -C $(LZ4DIR) liblz4 + $(CC) $(FLAGS) $^ -o $@$(EXT) $(LZ4DIR)/liblz4.dll.a + fuzzer : $(LZ4DIR)/lz4.o $(LZ4DIR)/lz4hc.o $(LZ4DIR)/xxhash.o fuzzer.c $(CC) $(FLAGS) $^ -o $@$(EXT) -- cgit v0.12