From b1ce094c3a71951bca4ae9c332e9988361f8b2a9 Mon Sep 17 00:00:00 2001
From: Christophe Geuzaine <cgeuzaine@ulg.ac.be>
Date: Wed, 23 Apr 2008 22:39:00 +0000
Subject: [PATCH] better "make lib" (cannot simply merge static libs with ar on
 linux)

---
 Box/Makefile              |  5 ++++-
 Common/Makefile           |  5 ++++-
 DataStr/Makefile          |  5 ++++-
 Geo/Makefile              |  5 ++++-
 Makefile                  | 14 +++++++-------
 Mesh/Makefile             |  5 ++++-
 Numeric/Makefile          |  8 +++++---
 Parallel/Makefile         |  5 ++++-
 Parser/Makefile           |  5 ++++-
 Plugin/Makefile           |  5 ++++-
 Post/Makefile             |  5 ++++-
 contrib/ANN/Makefile      |  5 ++++-
 contrib/MathEval/Makefile |  5 ++++-
 contrib/NR/Makefile       |  5 ++++-
 contrib/Netgen/Makefile   |  5 ++++-
 contrib/Tetgen/Makefile   |  5 ++++-
 16 files changed, 68 insertions(+), 24 deletions(-)

diff --git a/Box/Makefile b/Box/Makefile
index 51ab765a66..f8dcea8f29 100644
--- a/Box/Makefile
+++ b/Box/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.48 2008-04-23 20:49:42 geuzaine Exp $
+# $Id: Makefile,v 1.49 2008-04-23 22:38:42 geuzaine Exp $
 #
 # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 #
@@ -40,6 +40,9 @@ ${LIB}: ${OBJ} Main${OBJEXT}
 	${AR} ${ARFLAGS}${LIB} ${OBJ} 
 	${RANLIB} ${LIB}
 
+lib: ${OBJ} 
+	${AR} ${ARFLAGS}../lib/libGmsh${LIBEXT} ${OBJ}
+
 .cpp${OBJEXT}:
 	${CXX} ${CFLAGS} ${DASH}c $<
 
diff --git a/Common/Makefile b/Common/Makefile
index 78e6b2ccd7..440af91a31 100644
--- a/Common/Makefile
+++ b/Common/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.168 2008-04-22 07:37:08 geuzaine Exp $
+# $Id: Makefile,v 1.169 2008-04-23 22:38:46 geuzaine Exp $
 #
 # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 #
@@ -51,6 +51,9 @@ ${LIB}: ${OBJ}
 	${AR} ${ARFLAGS}${LIB} ${OBJ}
 	${RANLIB} ${LIB}
 
+lib: ${OBJ} 
+	${AR} ${ARFLAGS}../lib/libGmsh${LIBEXT} ${OBJ}
+
 .cpp${OBJEXT}:
 	${CXX} ${CFLAGS} ${DASH}c $<
 
diff --git a/DataStr/Makefile b/DataStr/Makefile
index 88dcae93b4..baa1a50ea0 100644
--- a/DataStr/Makefile
+++ b/DataStr/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.45 2008-02-17 08:47:56 geuzaine Exp $
+# $Id: Makefile,v 1.46 2008-04-23 22:38:47 geuzaine Exp $
 #
 # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 #
@@ -42,6 +42,9 @@ ${LIB}: ${OBJ}
 	${AR} ${ARFLAGS}${LIB} ${OBJ}
 	${RANLIB} ${LIB}
 
+lib: ${OBJ} 
+	${AR} ${ARFLAGS}../lib/libGmsh${LIBEXT} ${OBJ}
+
 .cpp${OBJEXT}:
 	${CXX} ${CFLAGS} ${DASH}c $<
 
diff --git a/Geo/Makefile b/Geo/Makefile
index 1bf88b221a..4c93d6675c 100644
--- a/Geo/Makefile
+++ b/Geo/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.202 2008-04-23 08:20:40 geuzaine Exp $
+# $Id: Makefile,v 1.203 2008-04-23 22:38:48 geuzaine Exp $
 #
 # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 #
@@ -63,6 +63,9 @@ ${LIB}: ${OBJ}
 	${AR} ${ARFLAGS}${LIB} ${OBJ}
 	${RANLIB} ${LIB}
 
+lib: ${OBJ} 
+	${AR} ${ARFLAGS}../lib/libGmsh${LIBEXT} ${OBJ}
+
 .cpp${OBJEXT}:
 	${CXX} ${CFLAGS} ${DASH}c $<
 
diff --git a/Makefile b/Makefile
index 4a76e4c4ce..c58ee2861a 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.478 2008-04-18 08:24:39 remacle Exp $
+# $Id: Makefile,v 1.479 2008-04-23 22:38:36 geuzaine Exp $
 #
 # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 #
@@ -60,11 +60,6 @@ link-mac-universal: compile
 	lipo -create bin/gmsh_i386 bin/gmsh_ppc -output bin/gmsh
 	rm -f bin/gmsh_i386 bin/gmsh_ppc
 
-.PHONY: lib
-lib: compile
-	${AR} ${ARFLAGS}bin/libGmsh${LIBEXT} lib/*${LIBEXT}
-	${RANLIB} bin/libGmsh${LIBEXT}
-
 compile: variables initialtag
 	@for i in ${GMSH_DIRS}; do (cd $$i && ${MAKE}); done
 
@@ -86,12 +81,17 @@ install-mac: variables package-mac
 uninstall-mac:
 	rm -rf /Applications/Gmsh.app
 
+.PHONY: lib
+lib:
+	@for i in ${GMSH_DIRS}; do (cd $$i && ${MAKE} lib); done
+	${RANLIB} lib/libGmsh${LIBEXT}
+
 install-lib: lib
 	mkdir -p ${includedir}/gmsh
 	rm -f ${includedir}/gmsh/*
 	cp -f ${GMSH_API} ${includedir}/gmsh
 	mkdir -p ${libdir}
-	cp -f bin/libGmsh${LIBEXT} ${libdir}/libGmsh${LIBSUFFIX}${LIBEXT}
+	cp -f lib/libGmsh${LIBEXT} ${libdir}/libGmsh${LIBSUFFIX}${LIBEXT}
 
 uninstall-lib:
 	rm -rf ${includedir}/gmsh
diff --git a/Mesh/Makefile b/Mesh/Makefile
index 5c992d6389..6763480e67 100644
--- a/Mesh/Makefile
+++ b/Mesh/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.214 2008-04-22 07:37:10 geuzaine Exp $
+# $Id: Makefile,v 1.215 2008-04-23 22:38:50 geuzaine Exp $
 #
 # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 #
@@ -65,6 +65,9 @@ ${LIB}: ${OBJ}
 	${AR} ${ARFLAGS}${LIB} ${OBJ} 
 	${RANLIB} ${LIB}
 
+lib: ${OBJ} 
+	${AR} ${ARFLAGS}../lib/libGmsh${LIBEXT} ${OBJ}
+
 .cpp${OBJEXT}:
 	${CXX} ${CFLAGS} ${DASH}c $<
 
diff --git a/Numeric/Makefile b/Numeric/Makefile
index 1522ff6d79..5c7f413a00 100644
--- a/Numeric/Makefile
+++ b/Numeric/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.49 2008-02-21 09:49:22 geuzaine Exp $
+# $Id: Makefile,v 1.50 2008-04-23 22:38:51 geuzaine Exp $
 #
 # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 #
@@ -31,7 +31,7 @@ SRC = Numeric.cpp\
         NumericEmbedded.cpp\
       EigSolve.cpp\
       FunctionSpace.cpp\
-      predicates.cpp\
+      gmsh_predicates.cpp\
       gsl_newt.cpp\
       gsl_min.cpp\
       gsl_brent.cpp
@@ -44,6 +44,9 @@ ${LIB}: ${OBJ}
 	${AR} ${ARFLAGS}${LIB} ${OBJ}
 	${RANLIB} ${LIB}
 
+lib: ${OBJ} 
+	${AR} ${ARFLAGS}../lib/libGmsh${LIBEXT} ${OBJ}
+
 .cpp${OBJEXT}:
 	${CXX} ${CFLAGS} ${DASH}c $<
 
@@ -65,7 +68,6 @@ NumericEmbedded.o: NumericEmbedded.cpp NumericEmbedded.h \
 EigSolve.o: EigSolve.cpp
 FunctionSpace.o: FunctionSpace.cpp FunctionSpace.h ../Common/GmshMatrix.h \
   ../Common/GmshDefines.h
-predicates.o: predicates.cpp
 gsl_newt.o: gsl_newt.cpp ../Common/Message.h Numeric.h NumericEmbedded.h
 gsl_min.o: gsl_min.cpp ../Common/Message.h Numeric.h NumericEmbedded.h
 gsl_brent.o: gsl_brent.cpp ../Common/Message.h Numeric.h \
diff --git a/Parallel/Makefile b/Parallel/Makefile
index f00c614143..4cb603dee9 100644
--- a/Parallel/Makefile
+++ b/Parallel/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.43 2008-02-17 08:48:02 geuzaine Exp $
+# $Id: Makefile,v 1.44 2008-04-23 22:38:52 geuzaine Exp $
 #
 # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 #
@@ -37,6 +37,9 @@ ${LIB}: ${OBJ}
 	${AR} ${ARFLAGS}${LIB} ${OBJ} 
 	${RANLIB} ${LIB}
 
+lib: ${OBJ} 
+	${AR} ${ARFLAGS}../lib/libGmsh${LIBEXT} ${OBJ}
+
 .cpp${OBJEXT}:
 	${CXX} ${CFLAGS} ${DASH}c $<
 
diff --git a/Parser/Makefile b/Parser/Makefile
index a17e45237e..8cb368a8e8 100644
--- a/Parser/Makefile
+++ b/Parser/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.149 2008-04-22 07:37:16 geuzaine Exp $
+# $Id: Makefile,v 1.150 2008-04-23 22:38:53 geuzaine Exp $
 #
 # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 #
@@ -43,6 +43,9 @@ ${LIB}: ${OBJ}
 	${AR} ${ARFLAGS}${LIB} ${OBJ}
 	${RANLIB} ${LIB}
 
+lib: ${OBJ} 
+	${AR} ${ARFLAGS}../lib/libGmsh${LIBEXT} ${OBJ}
+
 .cpp${OBJEXT}:
 	${CXX} ${CFLAGS} ${DASH}c $<
 
diff --git a/Plugin/Makefile b/Plugin/Makefile
index 92f03adef5..afae2046ed 100644
--- a/Plugin/Makefile
+++ b/Plugin/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.162 2008-04-22 07:37:16 geuzaine Exp $
+# $Id: Makefile,v 1.163 2008-04-23 22:38:54 geuzaine Exp $
 #
 # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 #
@@ -58,6 +58,9 @@ ${LIB}: ${OBJ}
 	${AR} ${ARFLAGS}${LIB} ${OBJ}
 	${RANLIB} ${LIB}
 
+lib: ${OBJ} 
+	${AR} ${ARFLAGS}../lib/libGmsh${LIBEXT} ${OBJ}
+
 .cpp${OBJEXT}:
 	${CXX} ${CFLAGS} ${DASH}c $<
 
diff --git a/Post/Makefile b/Post/Makefile
index 656e4f078b..b1bf860c1b 100644
--- a/Post/Makefile
+++ b/Post/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.41 2008-04-22 07:37:16 geuzaine Exp $
+# $Id: Makefile,v 1.42 2008-04-23 22:38:55 geuzaine Exp $
 #
 # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 #
@@ -47,6 +47,9 @@ ${LIB}: ${OBJ}
 	${AR} ${ARFLAGS}${LIB} ${OBJ}
 	${RANLIB} ${LIB}
 
+lib: ${OBJ} 
+	${AR} ${ARFLAGS}../lib/libGmsh${LIBEXT} ${OBJ}
+
 .cpp${OBJEXT}:
 	${CXX} ${CFLAGS} ${DASH}c $<
 
diff --git a/contrib/ANN/Makefile b/contrib/ANN/Makefile
index 44d92c4abe..a6993f9f15 100644
--- a/contrib/ANN/Makefile
+++ b/contrib/ANN/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.21 2008-02-17 08:48:09 geuzaine Exp $
+# $Id: Makefile,v 1.22 2008-04-23 22:38:56 geuzaine Exp $
 #
 # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 #
@@ -50,6 +50,9 @@ ${LIB}: ${OBJ}
 	${AR} ${ARFLAGS}${LIB} ${OBJ} 
 	${RANLIB} ${LIB}
 
+lib: ${OBJ} 
+	${AR} ${ARFLAGS}../../lib/libGmsh${LIBEXT} ${OBJ}
+
 .cpp${OBJEXT}:
 	${CXX} ${CFLAGS} ${DASH}c $< ${DASH}o ${<:.cpp=${OBJEXT}}
 	if [ -r ${notdir ${<:.cpp=${OBJEXT}}} ]; then\
diff --git a/contrib/MathEval/Makefile b/contrib/MathEval/Makefile
index eaeaf4abeb..2ac0bfd6a1 100644
--- a/contrib/MathEval/Makefile
+++ b/contrib/MathEval/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.21 2008-02-27 12:39:28 geuzaine Exp $
+# $Id: Makefile,v 1.22 2008-04-23 22:38:57 geuzaine Exp $
 #
 # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 #
@@ -42,6 +42,9 @@ ${LIB}: ${OBJ}
 	${AR} ${ARFLAGS}${LIB} ${OBJ}
 	${RANLIB} ${LIB}
 
+lib: ${OBJ} 
+	${AR} ${ARFLAGS}../../lib/libGmsh${LIBEXT} ${OBJ}
+
 .cpp${OBJEXT}:
 	${CXX} ${CFLAGS} ${DASH}c $<
 
diff --git a/contrib/NR/Makefile b/contrib/NR/Makefile
index cc35693d92..ce212df514 100644
--- a/contrib/NR/Makefile
+++ b/contrib/NR/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.11 2008-02-17 08:48:09 geuzaine Exp $
+# $Id: Makefile,v 1.12 2008-04-23 22:38:58 geuzaine Exp $
 #
 # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 #
@@ -48,6 +48,9 @@ ${LIB}: ${OBJ}
 	${AR} ${ARFLAGS}${LIB} ${OBJ}
 	${RANLIB} ${LIB}
 
+lib: ${OBJ} 
+	${AR} ${ARFLAGS}../../lib/libGmsh${LIBEXT} ${OBJ}
+
 .cpp${OBJEXT}:
 	${CXX} ${CFLAGS} ${DASH}c $<
 
diff --git a/contrib/Netgen/Makefile b/contrib/Netgen/Makefile
index abc63406c7..ef78406ddb 100644
--- a/contrib/Netgen/Makefile
+++ b/contrib/Netgen/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.36 2008-04-06 07:51:38 geuzaine Exp $
+# $Id: Makefile,v 1.37 2008-04-23 22:38:59 geuzaine Exp $
 #
 # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 #
@@ -136,6 +136,9 @@ ${LIB}: ${OBJ}
 	${AR} ${ARFLAGS}${LIB} ${OBJ} 
 	${RANLIB} ${LIB}
 
+lib: ${OBJ} 
+	${AR} ${ARFLAGS}../../lib/libGmsh${LIBEXT} ${OBJ}
+
 .cpp${OBJEXT}:
 	${CXX} ${CFLAGS} ${DASH}c $< ${DASH}o ${<:.cpp=${OBJEXT}}
 	if [ -r ${notdir ${<:.cpp=${OBJEXT}}} ]; then\
diff --git a/contrib/Tetgen/Makefile b/contrib/Tetgen/Makefile
index 6463468383..38b3f6ec83 100644
--- a/contrib/Tetgen/Makefile
+++ b/contrib/Tetgen/Makefile
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.11 2008-02-17 08:48:11 geuzaine Exp $
+# $Id: Makefile,v 1.12 2008-04-23 22:39:00 geuzaine Exp $
 #
 # Copyright (C) 1997-2008 C. Geuzaine, J.-F. Remacle
 #
@@ -35,6 +35,9 @@ ${LIB}: ${OBJ}
 	${AR} ${ARFLAGS}${LIB} ${OBJ} 
 	${RANLIB} ${LIB}
 
+lib: ${OBJ} 
+	${AR} ${ARFLAGS}../../lib/libGmsh${LIBEXT} ${OBJ}
+
 .cxx${OBJEXT}:
 	${CXX} ${CFLAGS} ${DASH}c $<
 
-- 
GitLab