summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPrzemyslaw Skibinski <inikep@gmail.com>2016-11-09 14:19:29 (GMT)
committerPrzemyslaw Skibinski <inikep@gmail.com>2016-11-09 14:19:29 (GMT)
commitca80a7c8f77f5405cba5b8a52abb1dda78602bf7 (patch)
treedf9a1e400bd591cc8f7572fef2bc995d33c003e0
parent67fd5dffd9769a3d7fe8436bd79e05df7afd7b05 (diff)
downloadlz4-ca80a7c8f77f5405cba5b8a52abb1dda78602bf7.zip
lz4-ca80a7c8f77f5405cba5b8a52abb1dda78602bf7.tar.gz
lz4-ca80a7c8f77f5405cba5b8a52abb1dda78602bf7.tar.bz2
create DLL with MinGW/MSYS
-rw-r--r--lib/Makefile14
-rw-r--r--tests/Makefile8
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)