From 08f782bfd8f895f41f97336fe880b8c3a4431437 Mon Sep 17 00:00:00 2001
From: Antoine <antoine.hoffmann@epfl.ch>
Date: Fri, 11 Aug 2023 13:38:23 +0200
Subject: [PATCH] more comprehensive way to change OS env.

---
 local/dirs.inc | 37 ++++++++++++++++++++++++-------------
 local/make.inc | 10 +++++++++-
 2 files changed, 33 insertions(+), 14 deletions(-)

diff --git a/local/dirs.inc b/local/dirs.inc
index e5bbdfc7..322f9cc9 100644
--- a/local/dirs.inc
+++ b/local/dirs.inc
@@ -4,18 +4,29 @@ SRCDIR   = $(PREFIX)/src
 BINDIR   = $(PREFIX)/bin
 OBJDIR   = $(PREFIX)/obj
 LIBDIR   = $(HOME)/lib
-#LIBDIR   = $(HOME)/lib_gnu 
 MODDIR   = $(PREFIX)/mod
 
-FMDIR      = $(LIBDIR)/FM
-FUTILS_DIR = $(LIBDIR)/futils/src
-# For local install :
-HDF5_LIB   = $(HDF5_ROOT)/lib
-#HDF5_LIB   = /usr/local/hdf5-1.8.22/lib
-FFTW3DIR   = $(LIBDIR)/fftw-3.3.10
-#LAPACKDIR  = $(LIBDIR)/lapack-3.10.0
-# For marconi (use of modules):
-#  -comment HDF5_LIB, FFTW3DIR and LAPACKDIR
-#  -uncomment the following lines if the module are loaded
-#FFTW3DIR   = $(FFTW_HOME)#mandatory
-#LAPACKDIR  = $(LAPACK_HOME)#optional
+#OS environment: Linux, Marconi or MacOS
+ENVTYPE = Linux
+
+ifeq ($(ENVTYPE), Linux) #Linux env.
+	FMDIR      = $(LIBDIR)/FM
+	FUTILS_DIR = $(LIBDIR)/futils/src
+	FFTW3DIR   = $(LIBDIR)/fftw-3.3.10
+	LAPACKDIR  = $(HOME)/lib/lapack-3.10.0
+	HDF5_LIB   = $(HDF5_ROOT)/lib
+endif
+ifeq ($(ENVTYPE), Marconi) #Marconi env.
+	FMDIR      = $(LIBDIR)/FM
+	FUTILS_DIR = $(LIBDIR)/futils/src
+	FFTW3DIR   = $(FFTW_HOME)
+	LAPACKDIR  = $(LAPACK_HOME)
+	HDF5_LIB   = $(HDF5_ROOT)/lib
+endif
+ifeq ($(ENVTYPE), MacOS) #MacOS
+	FMDIR      = $(LIBDIR)/FM
+	FUTILS_DIR = $(LIBDIR)/futils/src
+	FFTW3DIR   = $(LIBDIR)/fftw-3.3.10
+	LAPACKDIR = /opt/homebrew/opt/lapack
+	HDF5_LIB   = /usr/local/hdf5-1.8.22/lib
+endif
diff --git a/local/make.inc b/local/make.inc
index 890dcc78..5dd59b65 100644
--- a/local/make.inc
+++ b/local/make.inc
@@ -107,7 +107,15 @@ ifeq ($(COMPTYPE), c) #cray
 endif
 
 #Flag for finding external libraries in LDIR
-EXTLIBS   = $(LDIRS) -Wl,--start-group $(LIBS) -Wl,--end-group
+ifeq ($(ENVTYPE), Linux) #Linux env.
+     EXTLIBS   = $(LDIRS) -Wl,--start-group $(LIBS) -Wl,--end-group
+endif
+ifeq ($(ENVTYPE), Marconi) #Linux env.
+     EXTLIBS   = $(LDIRS) -Wl,--start-group $(LIBS) -Wl,--end-group
+endif
+ifeq ($(ENVTYPE), MacOS) #Linux env.
+     EXTLIBS   = $(LDIRS) $(LIBS)
+endif
 
 #Flag for finding external include files
 EXTINC    = $(IDIRS)
-- 
GitLab