Back to home page

EIC code displayed by LXR

 
 

    


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

0001 #
0002 # ------ GNU/LINUX ------         Intel OneAPI DPC++ 2025.x and higher
0003 #
0004 ifeq ($(G4SYSTEM),Linux-icx)
0005   CXX       := icpx
0006   CXXFLAGS  := -W -Wall -ansi -pedantic -Wno-non-virtual-dtor -Wno-long-long
0007   CXXFLAGS  += -Wwrite-strings -Wpointer-arith -Woverloaded-virtual
0008   CXXFLAGS  += -Wno-variadic-macros -Wshadow -pipe
0009   CXXFLAGS  += -fno-trapping-math -ftree-vectorize -fno-math-errno
0010   CXXFLAGS  += -fp-model precise
0011   CPPFLAGS  += -std=c++17
0012   CXXFLAGS  += -std=c++17
0013   G4USE_STD17 := 1
0014   ifdef G4MULTITHREADED
0015     CXXFLAGS += -ftls-model=initial-exec -pthread
0016   endif
0017   ifdef G4OPTIMISE
0018     CXXFLAGS  += -O3
0019     FCFLAGS   := -O3
0020     CCFLAGS   := -O3
0021   else
0022     ifdef G4DEBUG
0023       CXXFLAGS  += -g
0024       FCFLAGS   := -g
0025       CCFLAGS   := -g
0026     endif
0027   endif
0028   ifdef G4PROFILE
0029     CXXFLAGS  += -qp
0030     FCFLAGS   += -qp
0031     CCFLAGS   += -pg
0032   endif
0033   ifdef G4LIB_BUILD_SHARED
0034     CXXFLAGS  += -fPIC
0035     FCFLAGS   += -fPIC
0036     CCFLAGS   += -fPIC
0037   endif
0038   G4RUNPATHOPTION := -Wl,-rpath -Wl,
0039   G4STATIC_MODE += -Wl,--whole-archive
0040   G4NOSTATIC_MODE += -Wl,--no-whole-archive
0041   CC := icx
0042   FC := ifx
0043   FCFLAGS += -noautomatic -assume nobscc -assume no2underscores
0044   FCLIBS := -lg2c -lnsl
0045   AR := ar r
0046   ECHO    := /bin/echo -e
0047   SHEXT   := so
0048   LOADLIBS += -limf
0049   ifndef X11FLAGS
0050     X11FLAGS  := -I/usr/include/X11/extensions -I/usr/include/X11
0051   endif
0052   ifndef X11LIBS
0053     X11LIBS   := -L/usr/lib  -lXmu -lXt -lXext -lX11 -lSM -lICE
0054   endif
0055   ifndef XMFLAGS
0056     XMFLAGS   := -I/usr/include
0057   endif
0058   ifndef XMLIBS
0059     XMLIBS    := -lXm -lXpm
0060   endif
0061   ifndef XAWFLAGS
0062     XAWFLAGS   := -I/usr/include
0063   endif
0064   ifndef XAWLIBS
0065     XAWLIBS    := -lXaw
0066   endif
0067   DLDLIBS   := -ldl
0068   ifndef OGLFLAGS
0069     OGLFLAGS  := -I$(OGLHOME)/include 
0070   endif
0071   ifndef OGLHOME
0072     OGLHOME     := /usr
0073   endif
0074   ifndef OGLLIBS
0075     OGLLIBS   := -L$(OGLHOME)/lib -lGL
0076   endif
0077 
0078 # ---- QT Setup block -------------------------------------------------------
0079 
0080   ifndef QTHOME
0081     QTHOME     := /usr
0082   endif
0083   ifndef QTMOC
0084     QTMOC      := $(QTHOME)/bin/moc
0085   endif
0086 
0087   ifndef QT_VERSION
0088     QT_VERSION := 6
0089   endif
0090 
0091   ifndef QTFLAGS
0092     QTFLAGS   := -I $(QTHOME)/include -I$(QTHOME)/include/Qt
0093     QTFLAGS   += -I $(QTHOME)/include/QtCore
0094     QTFLAGS   += -I $(QTHOME)/include/QtGui
0095     QTFLAGS   += -I $(QTHOME)/include/QtWidgets
0096     QTFLAGS   += -I $(QTHOME)/include/QtOpenGL
0097     ifeq ($(QT_VERSION),6)
0098       QTFLAGS   += -I $(QTHOME)/include/QtOpenGLWidgets
0099     endif
0100   endif
0101   ifndef QTLIBPATH
0102     QTLIBPATH := $(QTHOME)/lib
0103     QT_SEARCH_LIB := $(shell ls  $(QTLIBPATH)/qt$(QT_VERSION)/libq* 2>/dev/null | wc -l )
0104     ifneq ($(QT_SEARCH_LIB),0)
0105       QTLIBPATH := $(QTHOME)/lib/qt$(QT_VERSION)
0106     endif
0107   endif
0108   ifeq ($(QT_VERSION),5)       # Qt5
0109     ifndef QTLIBS
0110       QTLIBS   := -L$(QTLIBPATH) -lQt5Core -lQt5Gui -lQt5Widgets
0111     endif
0112     ifndef GLQTLIBS
0113       GLQTLIBS := -L$(QTLIBPATH) -lQt5Core -lQt5Gui -lQt5Widgets -lQt5OpenGL
0114     endif
0115   else                         # Qt6
0116     ifndef QTLIBS
0117       QTLIBS   := -L$(QTLIBPATH) -lQt6Core -lQt6Gui -lQt6Widgets
0118     endif
0119     ifndef GLQTLIBS
0120       GLQTLIBS := -L$(QTLIBPATH) -lQt6Core -lQt6Gui -lQt6Widgets -lQt6OpenGL -lQt6OpenGLWidgets
0121     endif
0122   endif
0123 
0124 #----------------------------------------------------------------------------
0125 
0126   define build-granular-shared-lib
0127     @libdir=`(cd $(@D);/bin/pwd)`; \
0128      cd $(G4TMPDIR); \
0129      $(CXX) -Wl,-soname,$(@F) -shared -o $$libdir/$(@F) $(INTYLIBS) *.o
0130   endef
0131   define build-global-shared-lib
0132     @libdir=`(cd $(@D);/bin/pwd)`; \
0133      cd $(G4TMP)/$(G4SYSTEM); \
0134      $(CXX) -Wl,-soname,$(@F) -shared -o $$libdir/$(@F) $(INTYLIBS) \
0135                     $(foreach dir,$(SUBLIBS),$(dir)/*.o);
0136   endef
0137 
0138 endif