summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorYann Collet <yann.collet.73@gmail.com>2014-11-30 22:32:12 (GMT)
committerYann Collet <yann.collet.73@gmail.com>2014-11-30 22:32:12 (GMT)
commitd008c87151abf8c36a9f98d28461bf6f3dfdc6ae (patch)
treef9cbf5a95577a4bbbe610b1dca00e1f332e56623 /Makefile
parent80030c16fff7a8a5dae18cf2b1ab5da508137847 (diff)
downloadlz4-d008c87151abf8c36a9f98d28461bf6f3dfdc6ae.zip
lz4-d008c87151abf8c36a9f98d28461bf6f3dfdc6ae.tar.gz
lz4-d008c87151abf8c36a9f98d28461bf6f3dfdc6ae.tar.bz2
New directory structure : library source files into /lib directory
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile77
1 files changed, 14 insertions, 63 deletions
diff --git a/Makefile b/Makefile
index c2bbd57..60f8ce1 100644
--- a/Makefile
+++ b/Makefile
@@ -33,10 +33,6 @@
# Version numbers
VERSION=125
export RELEASE=r$(VERSION)
-LIBVER_MAJOR=`sed -n '/define LZ4_VERSION_MAJOR/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < lz4.h`
-LIBVER_MINOR=`sed -n '/define LZ4_VERSION_MINOR/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < lz4.h`
-LIBVER_PATCH=`sed -n '/define LZ4_VERSION_RELEASE/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < lz4.h`
-LIBVER=$(LIBVER_MAJOR).$(LIBVER_MINOR).$(LIBVER_PATCH)
DESTDIR?=
PREFIX ?= /usr
@@ -47,27 +43,13 @@ CFLAGS += -I. -std=c99 -Wall -Wextra -Wundef -Wshadow -Wcast-align -Wstrict-prot
LIBDIR?= $(PREFIX)/lib
INCLUDEDIR=$(PREFIX)/include
PRGDIR = programs
+LZ4DIR = lib
DISTRIBNAME=lz4-$(RELEASE).tar.gz
-
-# OS X linker doesn't support -soname, and use different extension
-# see : https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/DynamicLibraries/100-Articles/DynamicLibraryDesignGuidelines.html
-ifeq ($(shell uname), Darwin)
- SHARED_EXT = dylib
- SHARED_EXT_MAJOR = $(LIBVER_MAJOR).$(SHARED_EXT)
- SHARED_EXT_VER = $(LIBVER).$(SHARED_EXT)
- SONAME_FLAGS = -install_name $(PREFIX)/lib/liblz4.$(SHARED_EXT_MAJOR) -compatibility_version $(LIBVER_MAJOR) -current_version $(LIBVER)
-else
- SONAME_FLAGS = -Wl,-soname=liblz4.$(SHARED_EXT).$(LIBVER_MAJOR)
- SHARED_EXT = so
- SHARED_EXT_MAJOR = $(SHARED_EXT).$(LIBVER_MAJOR)
- SHARED_EXT_VER = $(SHARED_EXT).$(LIBVER)
-endif
-
-TEXT = lz4.c lz4.h lz4hc.c lz4hc.h \
- lz4frame.c lz4frame.h xxhash.c xxhash.h \
- liblz4.pc.in Makefile \
- lz4_format_description.txt NEWS LICENSE README.md \
+TEXT = $(LZ4DIR)/lz4.c $(LZ4DIR)/lz4.h $(LZ4DIR)/lz4hc.c $(LZ4DIR)/lz4hc.h \
+ $(LZ4DIR)/lz4frame.c $(LZ4DIR)/lz4frame.h $(LZ4DIR)/xxhash.c $(LZ4DIR)/xxhash.h \
+ $(LZ4DIR)/liblz4.pc.in $(LZ4DIR)/Makefile $(LZ4DIR)/LICENSE \
+ Makefile lz4_format_description.txt NEWS README.md \
cmake_unofficial/CMakeLists.txt \
$(PRGDIR)/fullbench.c $(PRGDIR)/lz4cli.c \
$(PRGDIR)/datagen.c $(PRGDIR)/fuzzer.c \
@@ -90,27 +72,18 @@ TRAVIS_TARGET=$(LZ4_TRAVIS_CI_ENV)
endif
-default: liblz4
+default: lz4programs
@cd $(PRGDIR); $(MAKE) -e
-all: liblz4 lz4programs
+all: lz4programs
-lz4programs: lz4.c lz4hc.c
+lz4programs:
@cd $(PRGDIR); $(MAKE) -e all
-liblz4: lz4.c lz4hc.c
- @echo compiling static library
- @$(CC) $(CPPFLAGS) $(CFLAGS) -c $^
- @$(AR) rcs liblz4.a lz4.o lz4hc.o
- @echo compiling dynamic library $(LIBVER)
- @$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -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)
-
clean:
- @rm -f core *.o *.a *.$(SHARED_EXT) *.$(SHARED_EXT).* $(DISTRIBNAME) *.sha1 liblz4.pc
+ @rm -f $(DISTRIBNAME) *.sha1
@cd $(PRGDIR); $(MAKE) clean
+ @cd $(LZ4DIR); $(MAKE) clean
@cd examples; $(MAKE) clean
@echo Cleaning completed
@@ -119,38 +92,16 @@ clean:
#make install is validated only for Linux, OSX, kFreeBSD and Hurd targets
ifneq (,$(filter $(shell uname),Linux Darwin GNU/kFreeBSD GNU))
-liblz4.pc: liblz4.pc.in Makefile
- @echo creating pkgconfig
- @sed -e 's|@PREFIX@|$(PREFIX)|' \
- -e 's|@LIBDIR@|$(LIBDIR)|' \
- -e 's|@INCLUDEDIR@|$(INCLUDEDIR)|' \
- -e 's|@VERSION@|$(VERSION)|' \
- $< >$@
-
-install: liblz4 liblz4.pc
- @install -d -m 755 $(DESTDIR)$(LIBDIR)/pkgconfig/ $(DESTDIR)$(INCLUDEDIR)/
- @install -m 755 liblz4.$(SHARED_EXT_VER) $(DESTDIR)$(LIBDIR)/liblz4.$(SHARED_EXT_VER)
- @cp -a liblz4.$(SHARED_EXT_MAJOR) $(DESTDIR)$(LIBDIR)
- @cp -a liblz4.$(SHARED_EXT) $(DESTDIR)$(LIBDIR)
- @cp -a liblz4.pc $(DESTDIR)$(LIBDIR)/pkgconfig/
- @install -m 644 liblz4.a $(DESTDIR)$(LIBDIR)/liblz4.a
- @install -m 644 lz4.h $(DESTDIR)$(INCLUDEDIR)/lz4.h
- @install -m 644 lz4hc.h $(DESTDIR)$(INCLUDEDIR)/lz4hc.h
- @echo lz4 static and shared library installed
+install:
+ @cd $(LZ4DIR); $(MAKE) -e install
@cd $(PRGDIR); $(MAKE) -e install
uninstall:
- rm -f $(DESTDIR)$(LIBDIR)/liblz4.$(SHARED_EXT)
- rm -f $(DESTDIR)$(LIBDIR)/liblz4.$(SHARED_EXT_MAJOR)
- rm -f $(DESTDIR)$(LIBDIR)/pkgconfig/liblz4.pc
- [ -x $(DESTDIR)$(LIBDIR)/liblz4.$(SHARED_EXT_VER) ] && rm -f $(DESTDIR)$(LIBDIR)/liblz4.$(SHARED_EXT_VER)
- [ -f $(DESTDIR)$(LIBDIR)/liblz4.a ] && rm -f $(DESTDIR)$(LIBDIR)/liblz4.a
- [ -f $(DESTDIR)$(INCLUDEDIR)/lz4.h ] && rm -f $(DESTDIR)$(INCLUDEDIR)/lz4.h
- [ -f $(DESTDIR)$(INCLUDEDIR)/lz4hc.h ] && rm -f $(DESTDIR)$(INCLUDEDIR)/lz4hc.h
- @echo lz4 libraries successfully uninstalled
+ @cd $(LZ4DIR); $(MAKE) uninstall
@cd $(PRGDIR); $(MAKE) uninstall
dist: clean
+ @install -dD -m 700 lz4-$(RELEASE)/lib/
@install -dD -m 700 lz4-$(RELEASE)/programs/
@install -dD -m 700 lz4-$(RELEASE)/cmake_unofficial/
@install -dD -m 700 lz4-$(RELEASE)/images/