Geant4 Cross Reference |
1 # 1 # 2 # ------ GNU/LINUX ------ Intel icc 19 << 2 # ------ GNU/LINUX ------ Intel icc 11.0 3 # 3 # 4 ifeq ($(G4SYSTEM),Linux-icc) 4 ifeq ($(G4SYSTEM),Linux-icc) 5 CXX := icc 5 CXX := icc 6 CXXFLAGS := -W -Wall -ansi -pedantic -Wno-n << 6 CXXFLAGS := -ansi -fp-model precise -no-gcc -w1 7 CXXFLAGS += -Wwrite-strings -Wpointer-arith << 8 CXXFLAGS += -Wno-variadic-macros -Wshadow - << 9 CXXFLAGS += -fp-model precise -diag-disable << 10 CPPFLAGS += -std=c++17 << 11 CXXFLAGS += -std=c++17 << 12 G4USE_STD17 := 1 << 13 ifdef G4MULTITHREADED 7 ifdef G4MULTITHREADED 14 CXXFLAGS += -ftls-model=initial-exec -pthr 8 CXXFLAGS += -ftls-model=initial-exec -pthread 15 endif 9 endif 16 ifdef G4OPTIMISE 10 ifdef G4OPTIMISE 17 CXXFLAGS += -O3 << 11 CXXFLAGS += -O2 18 FCFLAGS := -O3 << 12 FCFLAGS := -O2 19 CCFLAGS := -O3 << 13 CCFLAGS := -O2 20 else 14 else 21 ifdef G4DEBUG 15 ifdef G4DEBUG 22 CXXFLAGS += -g 16 CXXFLAGS += -g 23 FCFLAGS := -g 17 FCFLAGS := -g 24 CCFLAGS := -g 18 CCFLAGS := -g 25 endif 19 endif 26 endif 20 endif 27 ifdef G4PROFILE 21 ifdef G4PROFILE 28 CXXFLAGS += -qp 22 CXXFLAGS += -qp 29 FCFLAGS += -qp 23 FCFLAGS += -qp 30 CCFLAGS += -pg 24 CCFLAGS += -pg 31 endif 25 endif 32 ifdef G4LIB_BUILD_SHARED 26 ifdef G4LIB_BUILD_SHARED 33 CXXFLAGS += -fPIC 27 CXXFLAGS += -fPIC 34 FCFLAGS += -fPIC 28 FCFLAGS += -fPIC 35 CCFLAGS += -fPIC 29 CCFLAGS += -fPIC >> 30 LDFLAGS += -i-dynamic 36 endif 31 endif 37 G4RUNPATHOPTION := -Wl,-rpath -Wl, 32 G4RUNPATHOPTION := -Wl,-rpath -Wl, 38 G4STATIC_MODE += -Wl,--whole-archive << 39 G4NOSTATIC_MODE += -Wl,--no-whole-archive << 40 CC := icc 33 CC := icc 41 FC := ifort 34 FC := ifort 42 FCFLAGS += -noautomatic -assume nobscc -assu 35 FCFLAGS += -noautomatic -assume nobscc -assume no2underscores 43 FCLIBS := -lg2c -lnsl 36 FCLIBS := -lg2c -lnsl 44 AR := ar r 37 AR := ar r 45 ECHO := /bin/echo -e 38 ECHO := /bin/echo -e 46 SHEXT := so 39 SHEXT := so 47 LOADLIBS += -limf << 40 LOADLIBS += -lstdc++ 48 ifndef X11FLAGS 41 ifndef X11FLAGS 49 X11FLAGS := -I/usr/include/X11/extensions 42 X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11 50 endif 43 endif 51 ifndef X11LIBS 44 ifndef X11LIBS 52 X11LIBS := -L/usr/lib -lXmu -lXt -lXext << 45 X11LIBS := -L/usr/X11R6/lib -lXmu -lXt -lXext -lX11 -lXi -lSM -lICE 53 endif 46 endif 54 ifndef XMFLAGS 47 ifndef XMFLAGS 55 XMFLAGS := -I/usr/include << 48 XMFLAGS := -I/usr/X11R6/include 56 endif 49 endif 57 ifndef XMLIBS 50 ifndef XMLIBS 58 XMLIBS := -lXm -lXpm 51 XMLIBS := -lXm -lXpm 59 endif 52 endif 60 ifndef XAWFLAGS 53 ifndef XAWFLAGS 61 XAWFLAGS := -I/usr/include << 54 XAWFLAGS := -I/usr/X11R6/include 62 endif 55 endif 63 ifndef XAWLIBS 56 ifndef XAWLIBS 64 XAWLIBS := -lXaw 57 XAWLIBS := -lXaw 65 endif 58 endif 66 DLDLIBS := -ldl 59 DLDLIBS := -ldl 67 ifndef OGLFLAGS 60 ifndef OGLFLAGS 68 OGLFLAGS := -I$(OGLHOME)/include 61 OGLFLAGS := -I$(OGLHOME)/include 69 endif 62 endif 70 ifndef OGLHOME << 71 OGLHOME := /usr << 72 endif << 73 ifndef OGLLIBS 63 ifndef OGLLIBS 74 OGLLIBS := -L$(OGLHOME)/lib -lGL << 64 OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL 75 endif << 76 << 77 # ---- QT Setup block ------------------------ << 78 << 79 ifndef QTHOME << 80 QTHOME := /usr << 81 endif << 82 ifndef QTMOC << 83 QTMOC := $(QTHOME)/bin/moc << 84 endif << 85 << 86 ifndef QT_VERSION << 87 QT_VERSION := 5 << 88 endif << 89 << 90 ifndef QTFLAGS << 91 QTFLAGS := -I $(QTHOME)/include -I$(QTHO << 92 QTFLAGS += -I $(QTHOME)/include/QtCore << 93 QTFLAGS += -I $(QTHOME)/include/QtGui << 94 QTFLAGS += -I $(QTHOME)/include/QtWidget << 95 QTFLAGS += -I $(QTHOME)/include/QtOpenGL << 96 QTFLAGS += -I $(QTHOME)/include/Qt3DCore << 97 QTFLAGS += -I $(QTHOME)/include/Qt3DExtr << 98 QTFLAGS += -I $(QTHOME)/include/Qt3DRend << 99 ifeq ($(QT_VERSION),6) << 100 QTFLAGS += -I $(QTHOME)/include/QtOpen << 101 endif << 102 endif << 103 ifndef QTLIBPATH << 104 QTLIBPATH := $(QTHOME)/lib << 105 QT_SEARCH_LIB := $(shell ls $(QTLIBPATH)/ << 106 ifneq ($(QT_SEARCH_LIB),0) << 107 QTLIBPATH := $(QTHOME)/lib/qt$(QT_VERSIO << 108 endif << 109 endif << 110 ifeq ($(QT_VERSION),5) # Qt5 << 111 ifndef QTLIBS << 112 QTLIBS := -L$(QTLIBPATH) -lQt5Core -lQ << 113 endif << 114 ifndef QT3DLIBS << 115 QT3DLIBS := -L$(QTLIBPATH) -lQt5Core -lQ << 116 endif << 117 ifndef GLQTLIBS << 118 GLQTLIBS := -L$(QTLIBPATH) -lQt5Core -lQ << 119 endif << 120 else # Qt6 << 121 ifndef QTLIBS << 122 QTLIBS := -L$(QTLIBPATH) -lQt6Core -lQ << 123 endif << 124 ifndef QT3DLIBS << 125 QT3DLIBS := -L$(QTLIBPATH) -lQt6Core -lQ << 126 endif << 127 ifndef GLQTLIBS << 128 GLQTLIBS := -L$(QTLIBPATH) -lQt6Core -lQ << 129 endif << 130 endif 65 endif 131 << 132 #--------------------------------------------- << 133 << 134 define build-granular-shared-lib 66 define build-granular-shared-lib 135 @libdir=`(cd $(@D);/bin/pwd)`; \ 67 @libdir=`(cd $(@D);/bin/pwd)`; \ 136 cd $(G4TMPDIR); \ 68 cd $(G4TMPDIR); \ 137 $(CXX) -diag-disable=10441 -Wl,-soname,$( << 69 $(CXX) -Wl,-soname,$(@F) -shared -o $$libdir/$(@F) $(INTYLIBS) *.o 138 endef 70 endef 139 define build-global-shared-lib 71 define build-global-shared-lib 140 @libdir=`(cd $(@D);/bin/pwd)`; \ 72 @libdir=`(cd $(@D);/bin/pwd)`; \ 141 cd $(G4TMP)/$(G4SYSTEM); \ 73 cd $(G4TMP)/$(G4SYSTEM); \ 142 $(CXX) -diag-disable=10441 -Wl,-soname,$( << 74 $(CXX) -Wl,-soname,$(@F) -shared -o $$libdir/$(@F) $(INTYLIBS) \ 143 $(foreach dir,$(SUBLIBS),$ 75 $(foreach dir,$(SUBLIBS),$(dir)/*.o); 144 endef 76 endef 145 77 146 endif 78 endif