Back to home page

EIC code displayed by LXR

 
 

    


Warning, /geant4/config/sys/Darwin-clang.gmk is written in an unsupported language. File is not indexed.

0001 #
0002 # ------ macOS ------
0003 #                                 macOS, Apple clang-17 and higher
0004 #
0005 # Original author: Gabriele Cosmo - CERN
0006 #
0007 ifeq ($(G4SYSTEM),Darwin-clang)
0008   CXX       := clang++
0009   CXXFLAGS  := -Wall -Wno-non-virtual-dtor -Wno-long-long
0010   CXXFLAGS  += -Wwrite-strings -Wpointer-arith -Woverloaded-virtual
0011   CXXFLAGS  += -Wno-variadic-macros -Wshadow -pipe
0012   CXXFLAGS  += -fno-trapping-math -ftree-vectorize -fno-math-errno
0013   CPPFLAGS  += -DGL_SILENCE_DEPRECATION
0014   CPPFLAGS  += -std=c++17
0015   CXXFLAGS  += -std=c++17
0016   G4USE_STD17 := 1
0017   ifdef G4MULTITHREADED
0018     CXXFLAGS += -ftls-model=initial-exec -pthread
0019   endif
0020   ifdef G4OPTIMISE
0021     CXXFLAGS  += -O3
0022     FCFLAGS   := -O3
0023     CCFLAGS   := -O3
0024   else
0025     ifdef G4DEBUG
0026       CXXFLAGS  += -g
0027       FCFLAGS   := -g
0028       CCFLAGS   := -g
0029     endif
0030   endif
0031   ifdef G4PROFILE
0032     CXXFLAGS  += -pg
0033     FCFLAGS   += -pg
0034     CCFLAGS   += -pg
0035   endif
0036   ifdef G4OPTDEBUG
0037     CXXFLAGS  += -O2 -g
0038     FCFLAGS   += -O2 -g
0039     CCFLAGS   += -O2 -g
0040   endif
0041   G4RUNPATHOPTION := -Wl,-rpath, 
0042 #  G4STATIC_MODE += -Wl,-force_load
0043   FC := gfortran
0044   FCFLAGS += -fno-automatic -fno-backslash -fno-second-underscore
0045   LDFLAGS += -bind_at_load
0046   FCLIBS := -lg2c -lnsl
0047   SHEXT   := dylib
0048   LOADLIBS += -lm
0049   ifndef X11FLAGS
0050     X11FLAGS  := -I/usr/X11/include
0051   endif
0052   ifndef X11LIBS
0053     X11LIBS   := -L/usr/X11/lib  -lXmu -lXt -lXext -lX11 -lSM -lICE
0054   endif
0055   ifndef XMFLAGS
0056     XMFLAGS   := -I/usr/local/include
0057 #   XMFLAGS   := -I/usr/X11/include          ##### some installations.
0058   endif
0059   ifndef XMLIBS
0060     XMLIBS    := -L/usr/local/lib -lXm -lXpm
0061 #   XMLIBS    := -L/usr/X11/lib -lXm -lXpm   ##### some installations.
0062   endif
0063   ifndef XAWFLAGS
0064     XAWFLAGS   := -I/usr/local/include
0065 #   XAWFLAGS   := -I/usr/X11/include         ##### some installations.
0066   endif
0067   ifndef XAWLIBS
0068     XAWLIBS    := -lXaw
0069   endif
0070   DLDLIBS   := -ldl
0071   ifndef OGLHOME
0072     OGLHOME  := /usr/X11
0073   endif
0074   ifndef OGLFLAGS
0075     OGLFLAGS  := -I$(OGLHOME)/include 
0076   endif
0077   ifndef OGLLIBS
0078     OGLPATH  := $(shell test -f /Library/Frameworks/OpenGL.framework/OpenGL && echo "/Library/Frameworks/OpenGL.framework")
0079     ifneq ($(OGLPATH),/Library/Frameworks/OpenGL.framework)
0080       OGLPATH  := $(shell test -f /System/Library/Frameworks/OpenGL.framework/OpenGL && echo "/System/Library/Frameworks/OpenGL.framework")
0081     endif
0082     ifneq ($(OGLPATH),)
0083       OGLLIBS := -F$(OGLPATH)/.. -framework OpenGL -framework AGL 
0084     else
0085       OGLLIBS := -L$(OGLHOME)/lib -lGL
0086     endif
0087   endif
0088 
0089 # ---- Qt Setup block -------------------------------------------------------
0090 
0091   ifndef QTHOME
0092     QTHOME := /Library/Frameworks
0093   endif
0094   ifndef QT_VERSION
0095     QT_VERSION := 6
0096   endif
0097   ifeq ($(QTHOME),/Library/Frameworks)
0098     ifndef QTMOC
0099       QTMOC      := /usr/bin/moc
0100     endif
0101     ifndef QTFLAGS
0102       QTFLAGS   := -I $(QTHOME)/QtCore.framework/Headers
0103       QTFLAGS   += -I $(QTHOME)/QtGui.framework/Headers
0104       QTFLAGS   += -I $(QTHOME)/QtWidgets.framework/Headers
0105       QTFLAGS   += -I $(QTHOME)/QtOpenGL.framework/Headers
0106       ifeq ($(QT_VERSION),6)
0107         QTFLAGS   += -I $(QTHOME)/QtOpenGLWidgets.framework/Headers
0108       endif
0109       QTFLAGS   += -I $(QTHOME)/include/Qt -I$(QTHOME)/include
0110     endif
0111     ifndef QTLIBPATH
0112       QTLPATH  := $(QTHOME)
0113     endif
0114     QTLIBPATH  := -F$(QTLPATH)
0115     QT_AS_FRAMEWORK := $(shell test -d $(QTLPATH)/QtCore.framework && echo yes)
0116     ifndef QTLIBS
0117       ifdef QT_AS_FRAMEWORK
0118         QTLIBS    := $(QTLIBPATH) -framework QtCore -framework QtGui
0119       else
0120         QTLIBS    := -L$(QTLPATH) -lQtCore -lQtGui
0121       endif   
0122     endif
0123     ifndef GLQTLIBS  
0124       ifdef QT_AS_FRAMEWORK
0125         GLQTLIBS  := $(QTLIBPATH) -framework QtCore -framework QtGui -framework QtOpenGL
0126         ifeq ($(QT_VERSION),6)
0127           GLQTLIBS += -framework QtOpenGLWidgets
0128         endif
0129       else
0130         GLQTLIBS  := -L$(QTLPATH) -lQtCore -lQtGui -lQtOpenGL
0131         ifeq ($(QT_VERSION),6)
0132           GLQTLIBS += -lQtOpenGLWidgets
0133         endif
0134       endif   
0135     endif
0136   else
0137     ifndef QTMOC
0138       QTMOC      := $(QTHOME)/bin/moc
0139     endif
0140     QTLPATH  := $(QTHOME)/lib
0141     ifndef QTFLAGS
0142       QTFLAGS   := -I $(QTLPATH)/QtCore.framework/Headers 
0143       QTFLAGS   += -I $(QTLPATH)/QtGui.framework/Headers 
0144       QTFLAGS   += -I $(QTLPATH)/QtWidgets.framework/Headers
0145       QTFLAGS   += -I $(QTLPATH)/QtOpenGL.framework/Headers
0146       QTFLAGS   += -I $(QTHOME)/include/Qt -I$(QTHOME)/include
0147       ifeq ($(QT_VERSION),6)
0148         QTFLAGS   += -I $(QTHOME)/QtOpenGLWidgets.framework/Headers
0149       endif
0150     endif
0151     ifndef QTLIBS
0152        QTLIBS    := -F$(QTLPATH) -framework QtCore -framework QtGui
0153        QTLIBS    += -framework QtWidgets
0154     endif   
0155     ifndef GLQTLIBS  
0156       GLQTLIBS    := -F$(QTLPATH) -framework QtCore -framework QtGui
0157       GLQTLIBS    += -framework QtWidgets
0158       GLQTLIBS    += -framework QtOpenGL
0159       ifeq ($(QT_VERSION),6)
0160         GLQTLIBS  += -framework QtOpenGLWidgets
0161       endif
0162     endif   
0163   endif
0164 
0165 #------ Wt Setup block ------------------------------------------------------
0166 
0167   ifndef WTHOME
0168     WTHOME := /usr
0169   endif
0170   WTFLAGS := -I$(WTHOME)/include/boost -I$(WTHOME)/include -DQT_NO_KEYWORDS 
0171   WTLIBS  := -L$(WTHOME)/lib -lwt -lwtext -lwthttp  -lboost_signals  -L/usr/lib -lz -lssl -lcrypto
0172 
0173 #----------------------------------------------------------------------------
0174 
0175   define build-granular-shared-lib
0176     @libdir=`(cd $(@D);/bin/pwd)`; \
0177      cd $(G4TMPDIR); \
0178      $(CXX) -Wl,-w -dynamiclib -single_module -undefined dynamic_lookup \
0179          -o $$libdir/$(@F) $(INTYLIBS) *.o
0180   endef
0181   define build-global-shared-lib
0182     @libdir=`(cd $(@D);/bin/pwd)`; \
0183      cd $(G4TMP)/$(G4SYSTEM); \
0184      $(CXX) -Wl,-w -dynamiclib -single_module -undefined dynamic_lookup \
0185          -o $$libdir/$(@F) $(INTYLIBS) $(foreach dir,$(SUBLIBS),$(dir)/*.o);
0186   endef
0187 
0188 endif