From 8c11490e2dd8c76064d92d7e498ee581b2957137 Mon Sep 17 00:00:00 2001 From: Steffen Jaeckel Date: Mon, 19 Jun 2017 12:20:37 +0200 Subject: [PATCH] fix usage of PREFIX vs. DESTDIR This closes #232 --- makefile.mingw | 26 +++++++++++++------------- makefile.msvc | 22 +++++++++++----------- makefile.shared | 4 ++-- makefile.unix | 21 +++++++++++---------- makefile_include.mk | 11 ++++++----- 5 files changed, 43 insertions(+), 41 deletions(-) diff --git a/makefile.mingw b/makefile.mingw index afb7457..67b2802 100644 --- a/makefile.mingw +++ b/makefile.mingw @@ -7,7 +7,7 @@ # # gmake -f makefile.mingw all # test.exe -# gmake -f makefile.mingw DESTDIR=c:\devel\libtom install +# gmake -f makefile.mingw PREFIX=c:\devel\libtom install # #Or: # @@ -15,7 +15,7 @@ # #The following can be overridden from command line e.g. make -f makefile.mingw CC=gcc ARFLAGS=rcs -DESTDIR = c:\mingw +PREFIX = c:\mingw CC = gcc AR = ar ARFLAGS = r @@ -262,20 +262,20 @@ clean: #Install the library + headers install: $(LIBMAIN_S) $(LIBMAIN_I) $(LIBMAIN_D) - cmd /c if not exist "$(DESTDIR)\bin" mkdir "$(DESTDIR)\bin" - cmd /c if not exist "$(DESTDIR)\lib" mkdir "$(DESTDIR)\lib" - cmd /c if not exist "$(DESTDIR)\include" mkdir "$(DESTDIR)\include" - copy /Y $(LIBMAIN_S) "$(DESTDIR)\lib" - copy /Y $(LIBMAIN_I) "$(DESTDIR)\lib" - copy /Y $(LIBMAIN_D) "$(DESTDIR)\bin" - copy /Y src\headers\tomcrypt*.h "$(DESTDIR)\include" + cmd /c if not exist "$(PREFIX)\bin" mkdir "$(PREFIX)\bin" + cmd /c if not exist "$(PREFIX)\lib" mkdir "$(PREFIX)\lib" + cmd /c if not exist "$(PREFIX)\include" mkdir "$(PREFIX)\include" + copy /Y $(LIBMAIN_S) "$(PREFIX)\lib" + copy /Y $(LIBMAIN_I) "$(PREFIX)\lib" + copy /Y $(LIBMAIN_D) "$(PREFIX)\bin" + copy /Y src\headers\tomcrypt*.h "$(PREFIX)\include" #Install useful tools install_bins: hashsum - cmd /c if not exist "$(DESTDIR)\bin" mkdir "$(DESTDIR)\bin" - copy /Y hashsum.exe "$(DESTDIR)\bin" + cmd /c if not exist "$(PREFIX)\bin" mkdir "$(PREFIX)\bin" + copy /Y hashsum.exe "$(PREFIX)\bin" #Install documentation install_docs: doc/crypt.pdf - cmd /c if not exist "$(DESTDIR)\doc" mkdir "$(DESTDIR)\doc" - copy /Y doc\crypt.pdf "$(DESTDIR)\doc" + cmd /c if not exist "$(PREFIX)\doc" mkdir "$(PREFIX)\doc" + copy /Y doc\crypt.pdf "$(PREFIX)\doc" diff --git a/makefile.msvc b/makefile.msvc index 404a5e8..8395ed5 100644 --- a/makefile.msvc +++ b/makefile.msvc @@ -7,7 +7,7 @@ # # nmake -f makefile.msvc all # test.exe -# nmake -f makefile.msvc DESTDIR=c:\devel\libtom install +# nmake -f makefile.msvc PREFIX=c:\devel\libtom install # #Or: # @@ -15,7 +15,7 @@ # #The following can be overridden from command line e.g. make -f makefile.msvc CC=gcc ARFLAGS=rcs -DESTDIR = c:\devel +PREFIX = c:\devel CFLAGS = /Ox /DUSE_LTM /DLTM_DESC /I../libtommath EXTRALIBS = ../libtommath/tommath.lib @@ -249,18 +249,18 @@ clean: #Install the library + headers install: $(LIBMAIN_S) - cmd /c if not exist "$(DESTDIR)\bin" mkdir "$(DESTDIR)\bin" - cmd /c if not exist "$(DESTDIR)\lib" mkdir "$(DESTDIR)\lib" - cmd /c if not exist "$(DESTDIR)\include" mkdir "$(DESTDIR)\include" - copy /Y $(LIBMAIN_S) "$(DESTDIR)\lib" - copy /Y src\headers\tomcrypt*.h "$(DESTDIR)\include" + cmd /c if not exist "$(PREFIX)\bin" mkdir "$(PREFIX)\bin" + cmd /c if not exist "$(PREFIX)\lib" mkdir "$(PREFIX)\lib" + cmd /c if not exist "$(PREFIX)\include" mkdir "$(PREFIX)\include" + copy /Y $(LIBMAIN_S) "$(PREFIX)\lib" + copy /Y src\headers\tomcrypt*.h "$(PREFIX)\include" #Install useful tools install_bins: hashsum - cmd /c if not exist "$(DESTDIR)\bin" mkdir "$(DESTDIR)\bin" - copy /Y hashsum.exe "$(DESTDIR)\bin" + cmd /c if not exist "$(PREFIX)\bin" mkdir "$(PREFIX)\bin" + copy /Y hashsum.exe "$(PREFIX)\bin" #Install documentation install_docs: doc/crypt.pdf - cmd /c if not exist "$(DESTDIR)\doc" mkdir "$(DESTDIR)\doc" - copy /Y doc\crypt.pdf "$(DESTDIR)\doc" + cmd /c if not exist "$(PREFIX)\doc" mkdir "$(PREFIX)\doc" + copy /Y doc\crypt.pdf "$(PREFIX)\doc" diff --git a/makefile.shared b/makefile.shared index a36e86e..025ccde 100644 --- a/makefile.shared +++ b/makefile.shared @@ -11,7 +11,7 @@ # # CFLAGS="-DUSE_LTM -DLTM_DESC -I/path/to/libtommath" make -f makefile.shared all EXTRALIBS=/path/to/libtommath/libtommath.a # ./test -# make -f makefile.shared DESTDIR=/opt/libtom install +# make -f makefile.shared PREFIX=/opt/libtom install # PLATFORM := $(shell uname | sed -e 's/_.*//') @@ -46,7 +46,7 @@ $(LIBNAME): $(OBJECTS) $(LT) --mode=link --tag=CC $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) `find ./src -type f -name "*.lo" | LC_ALL=C sort` $(EXTRALIBS) -o $@ -rpath $(LIBPATH) -version-info $(VERSION_LT) install: .common_install - sed -e 's,^prefix=.*,prefix=$(DESTDIR),' -e 's,^Version:.*,Version: $(VERSION),' libtomcrypt.pc.in > libtomcrypt.pc + sed -e 's,^prefix=.*,prefix=$(PREFIX),' -e 's,^Version:.*,Version: $(VERSION),' libtomcrypt.pc.in > libtomcrypt.pc install -d $(LIBPATH)/pkgconfig install -m 644 libtomcrypt.pc $(LIBPATH)/pkgconfig/ diff --git a/makefile.unix b/makefile.unix index 9676ecb..452dcd7 100644 --- a/makefile.unix +++ b/makefile.unix @@ -15,7 +15,7 @@ # # make -f makefile.unix CFLAGS="-O3 -DUSE_LTM -DLTM_DESC -I/path/to/libtommath" EXTRALIBS=/path/to/libtommath/libtommath.a all # ./test -# make -f makefile.unix DESTDIR=/opt/libtom install +# make -f makefile.unix PREFIX=/opt/libtom install # #Or if you are using Intel C compiler you might need something like: # @@ -23,7 +23,8 @@ # #The following can be overridden from command line e.g. "make -f makefile.unix CC=gcc ARFLAGS=rcs" -DESTDIR = /usr/local +DESTDIR = +PREFIX = /usr/local CC = cc AR = ar ARFLAGS = r @@ -266,17 +267,17 @@ clean: #Install the library + headers install: $(LIBMAIN_S) $(HEADERS) - @mkdir -p $(DESTDIR)/include $(DESTDIR)/lib/pkgconfig - @cp $(LIBMAIN_S) $(DESTDIR)/lib/ - @cp $(HEADERS) $(DESTDIR)/include/ - @sed -e 's,^prefix=.*,prefix=$(DESTDIR),' -e 's,^Version:.*,Version: $(VERSION),' libtomcrypt.pc.in > $(DESTDIR)/lib/pkgconfig/libtomcrypt.pc + @mkdir -p $(PREFIX)/include $(PREFIX)/lib/pkgconfig + @cp $(LIBMAIN_S) $(PREFIX)/lib/ + @cp $(HEADERS) $(PREFIX)/include/ + @sed -e 's,^prefix=.*,prefix=$(PREFIX),' -e 's,^Version:.*,Version: $(VERSION),' libtomcrypt.pc.in > $(PREFIX)/lib/pkgconfig/libtomcrypt.pc #Install useful tools install_bins: hashsum - @mkdir -p $(DESTDIR)/bin - @cp hashsum $(DESTDIR)/bin/ + @mkdir -p $(PREFIX)/bin + @cp hashsum $(PREFIX)/bin/ #Install documentation install_docs: doc/crypt.pdf - @mkdir -p $(DESTDIR)/share/doc/libtomcrypt/pdf - @cp doc/crypt.pdf $(DESTDIR)/share/doc/libtomcrypt/pdf/ + @mkdir -p $(PREFIX)/share/doc/libtomcrypt/pdf + @cp doc/crypt.pdf $(PREFIX)/share/doc/libtomcrypt/pdf/ diff --git a/makefile_include.mk b/makefile_include.mk index 23375d3..c82095c 100644 --- a/makefile_include.mk +++ b/makefile_include.mk @@ -130,11 +130,12 @@ TIMINGS=demos/timing.o #INCPATH The directory to install the header files for libtomcrypt. #DATAPATH The directory to install the pdf docs. #BINPATH The directory to install the binaries provided. -DESTDIR ?= /usr/local -LIBPATH ?= $(DESTDIR)/lib -INCPATH ?= $(DESTDIR)/include -DATAPATH ?= $(DESTDIR)/share/doc/libtomcrypt/pdf -BINPATH ?= $(DESTDIR)/bin +DESTDIR ?= +PREFIX ?= /usr/local +LIBPATH ?= $(DESTDIR)$(PREFIX)/lib +INCPATH ?= $(DESTDIR)$(PREFIX)/include +DATAPATH ?= $(DESTDIR)$(PREFIX)/share/doc/libtomcrypt/pdf +BINPATH ?= $(DESTDIR)$(PREFIX)/bin #Who do we install as? ifdef INSTALL_USER