From: Teemu Ikonen <tpikonen@gmail.com>
Subject: Various fixes to upstream Makefile
Last-Update: 2018-10-19
Git-Branch: p/makefile
Git-Diff: 0585e2237f2b0cab8c8cfc54682632..21fcdac6843f62c533cb72d6d11be0

 Makefile | 35 ++++++++++++++++++-----------------
 1 file changed, 18 insertions(+), 17 deletions(-)

diff --git a/Makefile b/Makefile
index 80d7a0c..f4d8407 100644
--- a/Makefile
+++ b/Makefile
@@ -55,10 +55,10 @@ RELEASE = 4.0
 CC	= gcc
 CXX     = g++
 ifneq ($(MSYSTEM),MINGW32)
-CFLAGS  = -g -O3  -Wall  -ansi -pedantic -DCNEARTREE_SAFE_TRIANG=1
+CFLAGS  += -g -O3  -Wall  -ansi -pedantic -DCNEARTREE_SAFE_TRIANG=1
 TIME = time
 else
-CFLAGS  = -g -O2 -Wall  -DCNEARTREE_SAFE_TRIANG=1
+CFLAGS  += -g -O2 -Wall  -DCNEARTREE_SAFE_TRIANG=1
 TIME = 
 endif
 
@@ -93,9 +93,10 @@ INC      = $(ROOT)
 EXAMPLES = $(ROOT)
 TESTDATA = $(ROOT)
 ifndef INSTALL_PREFIX
-INSTALL_PREFIX = /usr/local
+INSTALL_PREFIX = $(DESTDIR)/usr
 #INSTALL_PREFIX  = $(HOME)
 endif
+INSTALL_LIB ?= lib
 
 #
 # Include directories
@@ -117,13 +118,13 @@ CPPLIBRARIES = -lm
 #
 CLIBRARIES = $(CVECTOR_LIBLOC) -lCVector -lm
 
-COMPILE_COMMAND        =  $(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(INCLUDES) $(WARNINGS) -c
-CPPCOMPILE_COMMAND     =  $(LIBTOOL) --mode=compile $(CXX) $(CFLAGS) $(INCLUDES) $(WARNINGS) -c
-LIBRARY_LINK_COMMAND   =  $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -no-undefined -rpath $(INSTALL_PREFIX)/lib
-BUILD_COMMAND_LOCAL    =  $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(INCLUDES)
-CPPBUILD_COMMAND_LOCAL =  $(LIBTOOL) --mode=link $(CXX) -no-undefined $(CFLAGS) $(INCLUDES)
-BUILD_COMMAND_DYNAMIC  =  $(LIBTOOL) --mode=link $(CC) -no-undefined $(CFLAGS) -shared -I$(INSTALL_PREFIX)/include
-BUILD_COMMAND_STATIC   =  $(LIBTOOL) --mode=link $(CC) $(CFLAGS) -static-libtool-libs -I$(INSTALL_PREFIX)/include
+COMPILE_COMMAND        =  $(LIBTOOL) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) $(INCLUDES) $(WARNINGS) -c
+CPPCOMPILE_COMMAND     =  $(LIBTOOL) --mode=compile $(CXX) $(CPPFLAGS) $(CFLAGS) $(CXXFLAGS) $(INCLUDES) $(WARNINGS) -c
+LIBRARY_LINK_COMMAND   =  $(LIBTOOL) --mode=link $(CC) -version-info $(VERSION) -no-undefined -rpath /usr/$(INSTALL_LIB) $(LDFLAGS)
+BUILD_COMMAND_LOCAL    =  $(LIBTOOL) --mode=link $(CC) $(CPPFLAGS) $(CFLAGS) $(INCLUDES) $(LDFLAGS)
+CPPBUILD_COMMAND_LOCAL =  $(LIBTOOL) --mode=link $(CXX) $(CPPFLAGS) -no-undefined $(CFLAGS) $(CXXFLAGS) $(INCLUDES) $(LDFLAGS)
+BUILD_COMMAND_DYNAMIC  =  $(LIBTOOL) --mode=link $(CC) $(CPPFLAGS) -no-undefined $(CFLAGS) -shared -I$(INSTALL_PREFIX)/include $(LDFLAGS)
+BUILD_COMMAND_STATIC   =  $(LIBTOOL) --mode=link $(CC) $(CPPFLAGS) $(CFLAGS) -static-libtool-libs -I$(INSTALL_PREFIX)/include $(LDFLAGS)
 INSTALL_COMMAND        =  $(LIBTOOL) --mode=install cp
 INSTALL_FINISH_COMMAND =  $(LIBTOOL) --mode=finish
 
@@ -228,11 +229,11 @@ all:	$(LIB) $(BIN) $(SOURCE) $(HEADERS) \
 		$(LIB)/libCNearTree.$(LIB_EXT) \
 		$(BIN)/CPPMain $(BIN)/CMain $(BIN)/CPPNearTreeTest $(BIN)/CNearTreeTest $(BIN)/CNearTreeTestInst 
 		
-install:  all $(INSTALL_PREFIX) $(INSTALL_PREFIX)/lib $(INSTALL_PREFIX)/include \
+install:  all $(INSTALL_PREFIX) $(INSTALL_PREFIX)/$(INSTALL_LIB) $(INSTALL_PREFIX)/include \
 		  $(INC) $(LIB)/libCNearTree.$(LIB_EXT)  $(INC)/TNear.h $(INC)/CNearTree.h \
 		  $(INC)/rhrand.h $(INC)/triple.h
-		  $(INSTALL_COMMAND) $(LIB)/libCNearTree.$(LIB_EXT) $(INSTALL_PREFIX)/lib/libCNearTree.$(LIB_EXT)
-		  $(INSTALL_FINISH_COMMAND) $(INSTALL_PREFIX)/lib/libCNearTree.$(LIB_EXT)
+		  $(INSTALL_COMMAND) $(LIB)/libCNearTree.$(LIB_EXT) $(INSTALL_PREFIX)/$(INSTALL_LIB)/libCNearTree.$(LIB_EXT)
+		  $(INSTALL_FINISH_COMMAND) $(INSTALL_PREFIX)/$(INSTALL_LIB)/libCNearTree.$(LIB_EXT)
 		  -cp $(INSTALL_PREFIX)/include/TNear.h $(INSTALL_PREFIX)/include/TNear_old.h
 		  -cp $(INSTALL_PREFIX)/include/CNearTree.h $(INSTALL_PREFIX)/include/CNearTree_old.h
 		  cp $(INC)/TNear.h $(INSTALL_PREFIX)/include/TNear.h
@@ -245,11 +246,11 @@ install:  all $(INSTALL_PREFIX) $(INSTALL_PREFIX)/lib $(INSTALL_PREFIX)/include
 		  chmod 644 $(INSTALL_PREFIX)/include/triple.h
 		  echo "Testing final install static"
 		  $(BUILD_COMMAND_STATIC) $(INCLUDES) $(EXAMPLES)/CNearTreeTest.c \
-		  -L$(INSTALL_PREFIX)/lib -lCNearTree $(CLIBRARIES) -o $(BIN)/CNearTreeTest_static
+		  -L$(INSTALL_PREFIX)/$(INSTALL_LIB) -lCNearTree $(CLIBRARIES) -o $(BIN)/CNearTreeTest_static
 		  $(BIN)/CNearTreeTest_static 
 		  echo "Testing final install dynamic"
 		  $(BUILD_COMMAND_DYNAMIC) $(INCLUDES) $(EXAMPLES)/CNearTreeTest.c \
-		  -L$(INSTALL_PREFIX)/lib -lCNearTree $(CLIBRARIES) -o $(BIN)/CNearTreeTest_dynamic
+		  -L$(INSTALL_PREFIX)/$(INSTALL_LIB) -lCNearTree $(CLIBRARIES) -o $(BIN)/CNearTreeTest_dynamic
 		  $(BIN)/CNearTreeTest_dynamic 
 		
 		  
@@ -260,8 +261,8 @@ install:  all $(INSTALL_PREFIX) $(INSTALL_PREFIX)/lib $(INSTALL_PREFIX)/include
 $(INSTALL_PREFIX):
 	mkdir -p $(INSTALL_PREFIX)
 
-$(INSTALL_PREFIX)/lib:  $(INSTALL_PREFIX)
-	mkdir -p $(INSTALL_PREFIX)/lib
+$(INSTALL_PREFIX)/$(INSTALL_LIB):  $(INSTALL_PREFIX)
+	mkdir -p $(INSTALL_PREFIX)/$(INSTALL_LIB)
 
 $(INSTALL_PREFIX)/bin:  $(INSTALL_PREFIX)
 	mkdir -p $(INSTALL_PREFIX)/bin
