777 lines
20 KiB
Plaintext
777 lines
20 KiB
Plaintext
# $Id: architecture.gmk,v 1.36 1999/07/06 17:54:49 johna Exp $
|
|
# ------------------------------------------------------------------------
|
|
# GEANT 4 - Architecture configuration script for GNU Make
|
|
#
|
|
# First implementation: July 7th 1995
|
|
#
|
|
# Description
|
|
# -----------
|
|
# to override variables defined in this script, use "gmake -e", this will
|
|
# cause environment variables to take precedence. In this case watch for
|
|
# inadvertant overrides!
|
|
#
|
|
# List of the supported architectures/compilers and related flavors for
|
|
# the environment variable G4SYSTEM:
|
|
#
|
|
# AIX-xlC AIX 4.3, (xlC) C Set ++ for AIX (default)
|
|
#
|
|
# SUN-CC SunOS 5.6, CC 4.2 compiler
|
|
#
|
|
# HP-aCC HP-UX 10.20, aCC A.01.09 compiler
|
|
#
|
|
# SGI-CC SGI-IRIX 6.2, C++ 7.2 compiler
|
|
#
|
|
# DEC-cxx DEC-OSF/1 4.0, DEC C++ 6.1
|
|
#
|
|
# Linux-g++ Linux (Red Hat 5.1), egcs 1.1
|
|
#
|
|
# WIN32-VC NT and Microsoft Visual C++ 5.0 or Microsoft Visual C++ 6.0
|
|
# and using CYGWIN32 tools ( make, g++ as "makedepend", sh...)
|
|
# ( Note: you will need to set your environment, see installation
|
|
# guide.)
|
|
#
|
|
# WIN32-VC-NICE alias for the above, although NICE is not used anymore.
|
|
#
|
|
# WIN32-G++-NICE NiceNT and CYGWIN32 with g++ as base compiler
|
|
# ex. NiceNT at CERN (but CYGWIN32 and RogueWave
|
|
# for g++ installed locally, because not full
|
|
# installation on NICE)
|
|
#
|
|
|
|
MAKEFLAGS= --no-print-directory
|
|
|
|
# Specify G4USE_STL when using STL, even for using our "temporary"
|
|
# STLinterface to RogueWave.
|
|
#
|
|
ifdef G4USE_STL
|
|
CPPFLAGS += -DG4USE_STL
|
|
endif
|
|
|
|
# If not specified, the default platform for G4SYSTEM is IBM-AIX ...
|
|
#
|
|
ifndef G4SYSTEM
|
|
G4SYSTEM := AIX-xlC
|
|
endif
|
|
|
|
# If not specified, the default path for G4 installation G4INSTALL is
|
|
# set to $HOME/geant4 ...
|
|
#
|
|
ifndef G4INSTALL
|
|
G4INSTALL := $(HOME)/geant4
|
|
endif
|
|
|
|
# If not specified, the default path for G4 source G4BASE is
|
|
# set to $G4INSTALL/source ...
|
|
#
|
|
ifndef G4BASE
|
|
G4BASE := $(G4INSTALL)/source
|
|
endif
|
|
|
|
# If not specified, the default path for the user's workdir is the same
|
|
# as G4INSTALL ...
|
|
#
|
|
ifndef G4WORKDIR
|
|
G4WORKDIR := $(G4INSTALL)
|
|
endif
|
|
|
|
# If not specified, the default path for temporary files G4TMP is
|
|
# set to $G4WORKDIR/tmp/$G4SYSTEM ...
|
|
#
|
|
ifndef G4TMP
|
|
G4TMP := $(G4WORKDIR)/tmp
|
|
endif
|
|
G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4TMP) ] && mkdir -p $(G4TMP) )
|
|
|
|
# If not specified, the default path for G4 libraries G4LIB is
|
|
# set to $G4INSTALL/lib/$G4SYSTEM ...
|
|
#
|
|
ifndef G4LIB
|
|
G4LIB := $(G4INSTALL)/lib
|
|
endif
|
|
G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4LIB) ] && mkdir -p $(G4LIB) )
|
|
G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4LIB)/$(G4SYSTEM) ] && mkdir -p $(G4LIB)/$(G4SYSTEM) )
|
|
|
|
# If not specified, the default path for G4 binaries G4BIN is
|
|
# set to $G4WORKDIR/bin/$G4SYSTEM ...
|
|
#
|
|
ifndef G4BIN
|
|
G4BIN := $(G4WORKDIR)/bin
|
|
endif
|
|
G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4BIN) ] && mkdir -p $(G4BIN) )
|
|
|
|
# If not specified, the default path for G4 schema G4SCHEMA_DIR is
|
|
# set to $G4WORKDIR/schema ...
|
|
#
|
|
ifndef G4SCHEMA_DIR
|
|
G4SCHEMA_DIR := $(G4WORKDIR)/schema
|
|
G4SCHEMA_FDID := 207
|
|
endif
|
|
ifdef G4ODBMS
|
|
G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4SCHEMA_DIR) ] && mkdir -p $(G4SCHEMA_DIR) )
|
|
endif
|
|
|
|
# If not specified, the default path for G4 example federated database is
|
|
# set to $HOME/G4EXAMPLE ...
|
|
#
|
|
ifndef G4EXAMPLE_BOOT_DIR
|
|
G4EXAMPLE_BOOT_DIR := $(HOME)/G4EXAMPLE
|
|
G4EXAMPLE_BOOT := $(G4EXAMPLE_BOOT_DIR)/G4EXAMPLE
|
|
endif
|
|
ifdef G4ODBMS
|
|
G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4EXAMPLE_BOOT_DIR) ] && mkdir -p $(G4EXAMPLE_BOOT_DIR) )
|
|
endif
|
|
|
|
# If G4DEBUG not specified, the default compilation is optimised ...
|
|
#
|
|
ifndef G4DEBUG
|
|
G4OPTIMISE := 1
|
|
endif
|
|
|
|
#
|
|
# CLHEP path, etc.
|
|
#
|
|
|
|
ifndef CLHEP_BASE_DIR
|
|
CLHEP_BASE_DIR := /afs/cern.ch/sw/geant4/dev/CLHEP/$(G4SYSTEM)/pro
|
|
endif
|
|
CLHEP_INCLUDE_DIR := $(CLHEP_BASE_DIR)/include
|
|
CLHEP_LIB_DIR := $(CLHEP_BASE_DIR)/lib
|
|
ifndef CLHEP_LIB
|
|
CLHEP_LIB := CLHEP
|
|
endif
|
|
|
|
ifeq ($(G4SYSTEM),WIN32-VC-NICE)
|
|
G4SYSTEM:=WIN32-VC
|
|
endif
|
|
|
|
ifeq ($(G4SYSTEM),WIN32-VC)
|
|
# CLHEP_BASE_DIR must be defined in the environment
|
|
CLHEP_INCLUDE_DIR := $(CLHEP_BASE_DIR)/include
|
|
CLHEP_LIB_DIR := $(CLHEP_BASE_DIR)/lib
|
|
CLHEP_LIB := CLHEP.lib
|
|
endif
|
|
|
|
#
|
|
# Rogue Wave Tools.h++ path & ObjectSpace STL
|
|
#
|
|
|
|
ifdef G4USE_OSPACE
|
|
|
|
#Object Space STL implementation
|
|
|
|
RWINC := $(G4BASE)/global/STLInterface
|
|
OSPACEDIR := /afs/cern.ch/sw/geant4/dev/ObjectSpace/$(G4SYSTEM)/pro/ToolKit
|
|
OSPACEINC := -I$(OSPACEDIR)/ospace/std -I$(OSPACEDIR)/ospace/stl
|
|
OSPACELIBS := -L$(OSPACEDIR)/lib -lospace
|
|
CPPFLAGS += -DG4USE_STL
|
|
|
|
ifeq ($(G4SYSTEM),WIN32-VC)
|
|
OSPACEDIR := $(OBJECT_SPACE_BASE)
|
|
OSPACEINC := -I$(OSPACEDIR)/ospace/std -I$(OSPACEDIR)/ospace/stl -I$(OSPACEDIR)
|
|
OSPACELIBS := '-libpath:c:\dev\ospace\lib std-2.1-vc5.0-mt.lib'
|
|
CPPFLAGS += -DG4USE_STL -DG4USE_OLDSTL
|
|
CPPFLAGS += -DOS_WIN_NT_4_0 -DOS_MULTI_THREADED -D_WIN32_WINNT $(OSPACEINC)
|
|
endif
|
|
else
|
|
ifdef G4USE_STL
|
|
|
|
# Native STL implemetation
|
|
|
|
RWINC := $(G4BASE)/global/STLInterface
|
|
|
|
else
|
|
ifdef G4USE_STLPORT
|
|
|
|
# STLport STL implementation (free) ( derived from SGI implementaion)
|
|
ifeq ($(G4SYSTEM),WIN32-VC)
|
|
|
|
RWINC := $(G4BASE)/global/STLInterface
|
|
STLPORTDIR := $(STLPORT_BASE)
|
|
OSPACEINC := -I$(STLPORTDIR)/stl
|
|
CPPFLAGS += -DG4USE_STL -DG4USE_OLDSTL
|
|
CPPFLAGS += -D_NOTHREADS -D__STL_NO_NEW_IOSTREAMS -D__STL_NO_NAMESPACES -D__STL_NO_NEW_STYLE_HEADERS
|
|
|
|
endif
|
|
|
|
endif #STLport
|
|
endif #STL
|
|
endif #OPSPACE
|
|
|
|
# default to RW if RWINC is not set...
|
|
ifndef RWINC
|
|
ifndef RWBASE
|
|
RWBASE := /afs/cern.ch/sw/geant4/dev/rogue/$(G4SYSTEM)
|
|
endif
|
|
RWINC := $(RWBASE)
|
|
RWLIBDIR := $(RWBASE)/lib
|
|
RWLIB := rwtool
|
|
|
|
ifeq ($(G4SYSTEM),HP-aCC)
|
|
RWBASE := /opt/aCC
|
|
RWINC := $(RWBASE)/include
|
|
RWLIBDIR := /usr/lib
|
|
endif
|
|
|
|
ifeq ($(G4SYSTEM),WIN32-VC)
|
|
# RWBASE must be defined in the environment
|
|
|
|
RWINC := $(RWBASE)
|
|
RWLIBDIR := $(RWBASE)"\lib"
|
|
RWLIB := mtlmt.lib
|
|
endif
|
|
|
|
ifeq ($(G4SYSTEM),WIN32-G++-NICE)
|
|
#
|
|
# locally installed RogueWave for g++ (mount mapping)
|
|
#
|
|
RWBASE := /rogue
|
|
RWINC := $(RWBASE)
|
|
RWLIBDIR := $(RWBASE)/lib
|
|
RWLIB := rwtool
|
|
endif
|
|
|
|
#
|
|
# Make dependencies files by g++ then need right RW include
|
|
#
|
|
ifdef RWINCGPP
|
|
RWINCGPP := -I$(RWINCGPP)
|
|
endif
|
|
endif # ifndef RWINC
|
|
|
|
#
|
|
# Paths for G4 data
|
|
#
|
|
|
|
ifndef G4DATA
|
|
G4DATA := $(G4INSTALL)/data
|
|
endif
|
|
|
|
# Photon evaporation data
|
|
ifndef G4LEVELGAMMADATA
|
|
G4LEVELGAMMADATA := $(G4DATA)/PhotonEvaporation
|
|
endif
|
|
|
|
#
|
|
# Toggle variables (positional qualifiers) between WIN32-VC and UNIX...
|
|
#
|
|
ifeq ($(G4SYSTEM),WIN32-VC)
|
|
OUT_OBJ := -TP '-Fo'
|
|
FOR_OBJ := '-Fo'
|
|
OUT_LIB := '-out:'
|
|
OUT_EXE := '-Fe'
|
|
LIB_PATH := '-libpath:'
|
|
CERNLIB_PATH := "z:\p32\cern\new\df\lib"
|
|
PATH_DEL := \\
|
|
#
|
|
# pattern for next substitution
|
|
#
|
|
LIB_PATT := lib(LibName).a
|
|
FLIB_PATT := (LibName).lib
|
|
else
|
|
OUT_OBJ := -o
|
|
FOR_OBJ := -o
|
|
OUT_LIB :=
|
|
OUT_EXE := -o
|
|
LIB_PATH := -L
|
|
CERNLIB_PATH := /cern/pro/lib
|
|
PATH_DEL := /
|
|
#
|
|
# pattern for next substitution
|
|
#
|
|
LIB_PATT := -l(LibName)
|
|
FLIB_PATT := $(LIB_PATT)
|
|
endif
|
|
|
|
#
|
|
# Variables for implicit rules, etc., as suggested in GNU Make manual...
|
|
#
|
|
|
|
CPPFLAGS += -Iinclude -I$(RWINC)
|
|
CPPFLAGS += -I$(CLHEP_INCLUDE_DIR)
|
|
|
|
#
|
|
# Positional qualifiers in action...
|
|
#
|
|
ifeq ($(G4SYSTEM),WIN32-VC)
|
|
LDFLAGS := -link $(LIB_PATH)$(CLHEP_LIB_DIR)
|
|
ifdef RWLIBDIR
|
|
LDFLAGS += $(LIB_PATH)$(RWLIBDIR)
|
|
endif
|
|
LOADLIBS := $(CLHEP_LIB)
|
|
ifdef RWLIB
|
|
LOADLIBS += $(RWLIB)
|
|
endif
|
|
else
|
|
## LDFLAGS := -L$(CLHEP_LIB_DIR)
|
|
LDFLAGS :=
|
|
ifdef RWLIBDIR
|
|
LDFLAGS += -L$(RWLIBDIR)
|
|
endif
|
|
## LOADLIBS := -l$(CLHEP_LIB)
|
|
LOADLIBS := $(CLHEP_LIB_DIR)/lib$(CLHEP_LIB).a
|
|
ifdef RWLIB
|
|
LOADLIBS += -l$(RWLIB)
|
|
endif
|
|
LOADLIBS += -lm
|
|
endif
|
|
|
|
#
|
|
# Graphic variables...
|
|
#
|
|
ifndef VISLIBS
|
|
VISLIBS :=
|
|
endif
|
|
# ------------------ X11 ---------------------
|
|
X11FLAGS :=
|
|
X11LIBS := -lXmu -lXt -lXext -lX11
|
|
# ----------------- Motif --------------------
|
|
XMFLAGS :=
|
|
XMLIBS := -lXm
|
|
# ---------------- Athena --------------------
|
|
XAWFLAGS :=
|
|
XAWLIBS := -lXaw
|
|
# ---------------- OpenGL --------------------
|
|
# The user can define his own values of OGLFLAGS and OGLLIBS.
|
|
# OGLFLAGS gives the directory containing include files.
|
|
# E.g.: OGLFLAGS := -I$(OGLHOME)/include
|
|
# OGLLIBS gives the libraries.
|
|
# E.g.: OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL
|
|
# Or : OGLLIBS := -L$(OGLHOME)/lib -lMesaGLU -lMesaGL
|
|
# OGLHOME is often /usr or /usr/local. Or it can point to a special
|
|
# installation.
|
|
# If the user does not set his/her own values, system-dependent values
|
|
# are set below. Most system-dependent code assumes OGLHOME is set.
|
|
# ------------- OpenInventor -----------------
|
|
ifndef HEPVISINC
|
|
HEPVISINC := $(HEPVISDIR)/include
|
|
endif
|
|
ifndef HEPVISLIB
|
|
HEPVISLIB := $(HEPVISDIR)/source
|
|
endif
|
|
ifndef OIVFLAGS
|
|
OIVFLAGS := -I${HEPVISINC}
|
|
endif
|
|
ifndef OIVLIBS
|
|
OIVLIBS := -L${HEPVISLIB} -lHEPVis -lInventorXt -lInventor -lGLU -lGL
|
|
endif
|
|
# ----------------- OPACS --------------------
|
|
ifndef G4_OPACS_WIDGET_SET
|
|
G4_OPACS_WIDGET_SET := Xm
|
|
endif
|
|
|
|
#
|
|
# For cfront compilers the repository location is set to
|
|
# $G4TMP/$G4SYSTEM/g4.ptrepository.
|
|
#
|
|
|
|
G4TEMPLATE_REPOSITORY := $(G4SYSTEM)/g4.ptrepository
|
|
G4TEMPEXEC_REPOSITORY := $(G4TEMPLATE_REPOSITORY)/exec
|
|
G4TREP := $(G4TMP)/$(G4TEMPLATE_REPOSITORY)
|
|
|
|
# Default archive call. Changed for: SUN-CC.
|
|
AR := ar r
|
|
|
|
# Default echo used with makedepend. Changed for SUN-CC, Linux-g++.
|
|
ECHO:= echo
|
|
|
|
# Default grep used with source/GNUmakfile. Changed for SUN-CC.
|
|
GREP := grep
|
|
|
|
|
|
#
|
|
# Architecture dependent variables...
|
|
#
|
|
|
|
# -------- AIX ----------
|
|
#
|
|
ifeq ($(G4SYSTEM),AIX-xlC)
|
|
CXX := xlC
|
|
ifdef G4OPTIMISE
|
|
CXXFLAGS := -O3 -qtwolink -+
|
|
else
|
|
CXXFLAGS := -g -qdbxextra -qcheck=all -qfullpath -qtwolink -+
|
|
FCFLAGS := -g
|
|
CCFLAGS := -g
|
|
endif
|
|
FC := xlf
|
|
FCFLAGS += -qextname
|
|
FCLIBS := -lxlf90 -lxlf
|
|
X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11
|
|
X11LIBS := -L/usr/lib -lXmu -lX11 -lXext
|
|
XMFLAGS := -I/usr/include/Motif1.2
|
|
XMLIBS := -L/usr/lib -lXm -lXt -lX11
|
|
XAWFLAGS := -I/usr/include/X11
|
|
XAWLIBS := -L/usr/lib -lXaw -lXmu -lXt -lX11 -lXext
|
|
ifndef OGLFLAGS
|
|
OGLFLAGS := -I$(OGLHOME)/include
|
|
endif
|
|
ifndef OGLLIBS
|
|
OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL
|
|
endif
|
|
ifdef G4ODBMS
|
|
ifeq ($(OBJY_VERS),4.0.2)
|
|
OBJY_LDLIB := oo_shar.4.02
|
|
endif
|
|
endif
|
|
CPPFLAGS += -DG4NOT_ISO_DELETES
|
|
ifdef G4USE_STL
|
|
CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM)
|
|
endif
|
|
ifdef G4USE_OSPACE
|
|
CPPFLAGS += -DOS_AIX_4 -DOS_NEW_CHECK -DOS_STL_ASSERT -DOS_NO_WSTRING -DOS_NO_ALLOCATORS
|
|
CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) $(OSPACEINC) -I$(OSPACEDIR)
|
|
endif
|
|
endif
|
|
|
|
# -------- SUN ---------
|
|
#
|
|
ifeq ($(G4SYSTEM),SUN-CC)
|
|
CXX := CC
|
|
ifdef G4OPTIMISE
|
|
CXXFLAGS := -O
|
|
else
|
|
CXXFLAGS := -g
|
|
FCFLAGS := -g
|
|
CCFLAGS := -g
|
|
endif
|
|
# CXXFLAGS += -fnonstd
|
|
CFRONT_G4TEMPLATE_REPOSITORY := true
|
|
FC := f77
|
|
SHEXT := so
|
|
AR := $(CXX) -xar -ptr$(G4TREP) -o
|
|
ECHO := /bin/echo
|
|
GREP := /usr/xpg4/bin/grep
|
|
FCLIBS := -lM77 -lF77 -lsunmath
|
|
X11FLAGS := -I/usr/openwin/include/X11/extensions -I/usr/openwin/include/X11 -I/usr/openwin/include
|
|
X11LIBS := -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib -R/usr/openwin/lib -lXmu -lX11 -lXext
|
|
XMLIBS := -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib -R/usr/openwin/lib -lXt -lXm -lX11
|
|
XAWFLAGS := -I/usr/openwin/include/X11
|
|
XAWLIBS := -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib -R/usr/openwin/lib -lXaw -lXmu -lXt -lX11 -lXext
|
|
ifndef OGLFLAGS
|
|
OGLFLAGS := -I$(OGLHOME)/include
|
|
endif
|
|
ifndef OGLLIBS
|
|
OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL
|
|
endif
|
|
ifdef G4ODBMS
|
|
ifeq ($(OBJY_VERS),4.0.2)
|
|
OBJY_LDLIB := oo
|
|
endif
|
|
endif
|
|
CPPFLAGS += -DSOCKET_IRIX_SOLARIS
|
|
LOADLIBS += -L/usr/lib -lsocket -lnsl
|
|
CPPFLAGS += -DG4NOT_ISO_DELETES
|
|
ifdef G4USE_STL
|
|
CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM)
|
|
endif
|
|
ifdef G4USE_OSPACE
|
|
CPPFLAGS += -DOS_SOLARIS_2_5 -DOS_NEW_CHECK -DOS_STL_ASSERT -DOS_NO_WSTRING -DOS_NO_ALLOCATORS
|
|
CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) $(OSPACEINC) -I$(OSPACEDIR)
|
|
endif
|
|
endif
|
|
|
|
# -------- HP ---------
|
|
#
|
|
ifeq ($(G4SYSTEM),HP-aCC)
|
|
CXX := aCC
|
|
ifdef G4OPTIMISE
|
|
CXXFLAGS := +O2 +Onolimit
|
|
else
|
|
CXXFLAGS := -g
|
|
FCFLAGS := -g
|
|
CCFLAGS := -g
|
|
endif
|
|
CXXFLAGS += +DAportable
|
|
CPPFLAGS += -I/usr
|
|
ifdef G4MAKESHLIB
|
|
CXXFLAGS += +Z
|
|
endif
|
|
G4_HAVE_BOOL := yes
|
|
FC := f77
|
|
FCFLAGS += +E6 +ppu
|
|
CCFLAGS += -Ae +DAportable
|
|
X11FLAGS := -I/usr/include/X11/extensions -I/usr/contrib/X11R6/include -I/usr/contrib/X11R6/include/X11
|
|
X11LIBS := -L/usr/contrib/X11R6/lib -lXmu -L/usr/lib -lXt -lXext -lX11
|
|
XMFLAGS := -I/usr/include/Motif1.2
|
|
XMLIBS := -L/usr/lib/Motif1.2_R6 -lXm
|
|
XAWFLAGS := -I/usr/contrib/X11R6/include -I/usr/contrib/X11R6/include/X11
|
|
XAWLIBS := -L/usr/contrib/X11R6/lib -lXaw
|
|
ifndef OGLFLAGS
|
|
OGLFLAGS := -I$(OGLHOME)/include
|
|
endif
|
|
ifndef OGLLIBS
|
|
OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL
|
|
OGLLIBS += -L/opt/graphics/common/lib -lXwindow -lhpgfx -lXhp11 -ldld
|
|
endif
|
|
ifdef G4ODBMS
|
|
ifeq ($(OBJY_VERS),4.0.2)
|
|
OBJY_LDLIB := oo
|
|
endif
|
|
endif
|
|
CPPFLAGS += -DG4NOT_ISO_DELETES
|
|
ifdef G4USE_STL
|
|
CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) -DG4USE_EXPLICIT_TYPES_IN_TEMPLATES
|
|
endif
|
|
ifdef G4USE_OSPACE
|
|
CPPFLAGS += -DOS_HPUX_10_20 -DOS_NEW_CHECK -DOS_STL_ASSERT -DOS_NO_WSTRING -DOS_NO_ALLOCATORS
|
|
CPPFLAGS += -DOS_NO_TYPEDEF_5 -D__HPACC_NOEH -DG4USE_EXPLICIT_TYPES_IN_TEMPLATES
|
|
CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) $(OSPACEINC) -I$(OSPACEDIR)
|
|
endif
|
|
endif
|
|
|
|
# -------- SGI ---------
|
|
#
|
|
ifeq ($(G4SYSTEM),SGI-CC)
|
|
CXX := CC
|
|
ifdef G4OPTIMISE
|
|
CXXFLAGS := -O -Olimit 5000
|
|
else
|
|
CXXFLAGS := -g
|
|
FCFLAGS := -g
|
|
CCFLAGS := -g
|
|
endif
|
|
CXXFLAGS += -ptused
|
|
FC := f77
|
|
FCLIBS := -lftn
|
|
SHEXT := so
|
|
X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11
|
|
X11LIBS := -L/usr/lib -lXmu -lXt -lXext -lX11
|
|
XMLIBS := -L/usr/lib -lXm
|
|
ifndef OGLFLAGS
|
|
OGLFLAGS :=
|
|
endif
|
|
ifndef OGLLIBS
|
|
OGLLIBS := -L/usr/lib -lGLU -lGL
|
|
endif
|
|
CPPFLAGS += -DSOCKET_IRIX_SOLARIS
|
|
ifdef G4USE_OSPACE
|
|
CPPFLAGS += -DOS_IRIX_6_2 -DOS_NEW_CHECK -DOS_STL_ASSERT -DOS_NO_WSTRING -DOS_NO_ALLOCATORS
|
|
CPPFLAGS += $(OSPACEINC) -I$(OSPACEDIR)
|
|
endif
|
|
endif
|
|
|
|
# -------- DEC ---------
|
|
#
|
|
ifeq ($(G4SYSTEM),DEC-cxx)
|
|
CXX := cxx
|
|
ifdef G4OPTIMISE
|
|
CXXFLAGS := -O
|
|
else
|
|
CXXFLAGS := -gall
|
|
FCFLAGS := -g
|
|
CCFLAGS := -g
|
|
endif
|
|
CFRONT_G4TEMPLATE_REPOSITORY := true
|
|
G4_HAVE_BOOL := yes
|
|
LDFLAGS += -taso
|
|
CXXFLAGS += -ieee -timplicit_local
|
|
FC := f77
|
|
FCLIBS := -lUfor -lfor -lFutil -lots
|
|
X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11
|
|
ifndef OGLFLAGS
|
|
OGLFLAGS := -I$(OGLHOME)/include
|
|
# OGLFLAGS := -I/usr/include -I/usr/local/include
|
|
endif
|
|
ifndef OGLLIBS
|
|
OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL
|
|
# OGLLIBS := -lMesaGLU -lMesaGL
|
|
endif
|
|
ifdef G4USE_STL
|
|
CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM)
|
|
CXXFLAGS += -nostdnew
|
|
endif
|
|
ifdef G4USE_OSPACE
|
|
CPPFLAGS += -DOS_OSF1_4 -DOS_NEW_CHECK -DOS_STL_ASSERT -DOS_NO_WSTRING -DOS_NO_ALLOCATORS -D__NO_EDG_EXCEPTION_CLASSES
|
|
CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM) $(OSPACEINC) -I$(OSPACEDIR)
|
|
CXXFLAGS += -nostdnew
|
|
endif
|
|
endif
|
|
|
|
# ------ GNU/LINUX ------
|
|
#
|
|
ifeq ($(G4SYSTEM),Linux-g++)
|
|
CXX := g++
|
|
GNU_GCC = 1
|
|
CXXFLAGS := -pipe -fno-for-scope -DGNU_GCC
|
|
ifdef G4OPTIMISE
|
|
CXXFLAGS += -O
|
|
else
|
|
CXXFLAGS += -g
|
|
FCFLAGS := -g
|
|
CCFLAGS := -g
|
|
endif
|
|
FC := g77
|
|
FCFLAGS += -fno-automatic -fno-backslash -fno-second-underscore
|
|
FCLIBS := -lf2c
|
|
ECHO := /bin/echo
|
|
X11FLAGS := -I/usr/include/X11/extensions -I/usr/include/X11
|
|
X11LIBS := -L/usr/X11R6/lib -lXmu -lXt -lXext -lX11 -lSM -lICE
|
|
XMFLAGS := -I/usr/X11R6/include
|
|
XMLIBS := -lXm -lXpm
|
|
ifndef OGLFLAGS
|
|
OGLFLAGS := -I$(OGLHOME)/include
|
|
endif
|
|
ifndef OGLLIBS
|
|
OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL
|
|
endif
|
|
OIVFLAGS += -I$(OIHOME)/include
|
|
ifdef G4USE_OSPACE
|
|
CPPFLAGS += -DOS_LINUX_2 -DOS_NEW_CHECK -DOS_STL_ASSERT -DOS_NO_WSTRING -DOS_NO_ALLOCATORS
|
|
CPPFLAGS += -I$(OSPACEDIR)/ospace/std -I$(OSPACEDIR)
|
|
endif
|
|
endif
|
|
|
|
# ------ WIN32/VC ------
|
|
#
|
|
ifeq ($(G4SYSTEM),WIN32-VC)
|
|
CXX := CL
|
|
G4_HAVE_BOOL := yes
|
|
G4_NO_CBRT := yes
|
|
ifdef G4OPTIMISE
|
|
CXXFLAGS += -Ox
|
|
else
|
|
CXXFLAGS += -Od -Zi -Fd$(G4LIBDIR)/lib$(name)
|
|
endif
|
|
CXXFLAGS += -MD -GX -Zm200 -nologo -DWIN32 -D_CONSOLE
|
|
CXXFLAGS += -D_WIN32 -DOS -DG4NOT_ISO_DELETES
|
|
CPPFLAGS += -DWIN32 -DRW_NO_XMSG
|
|
#
|
|
# Should set $INCLUDE environment, if not set as below
|
|
#
|
|
ifdef G4USE_OSPACE
|
|
CXXFLAGS += $(OSPACEINC)
|
|
else
|
|
ifdef G4USE_STLPORT
|
|
CXXFLAGS += $(OSPACEINC)
|
|
endif #stlport
|
|
endif #ospace
|
|
|
|
LDFLAGS += -FORCE /NODEFAULTLIB:MSVCRT.dll
|
|
|
|
#
|
|
# Should set $LIB environment to include VC++ Studio lib directories, e.g.
|
|
#
|
|
# $(LIB_PATH)"c:\ProgramFiles\DevStudio\vc\lib" \
|
|
# $(LIB_PATH)'\\srv1_info\v2\vc50pro1\DEVSTUDIO\VC\LIB' \
|
|
# $(LIB_PATH)'\\srv1_info\v2\DecFtn5\x86\df\lib'
|
|
|
|
AR := LIB
|
|
ECHO := echo -e
|
|
FC := f77
|
|
# FCLIBS := -lf2c
|
|
ifndef OGLFLAGS
|
|
OGLFLAGS :=
|
|
endif
|
|
ifndef OGLLIBS
|
|
OGLLIBS := -lGLU -lGL
|
|
endif
|
|
endif
|
|
|
|
# ------ WIN32/G++/NICE ------
|
|
#
|
|
ifeq ($(G4SYSTEM),WIN32-G++-NICE)
|
|
CXX := g++
|
|
CXXFLAGS := -fno-for-scope
|
|
G4_HAVE_BOOL := yes
|
|
ifdef G4OPTIMISE
|
|
CXXFLAGS += -O
|
|
else
|
|
CXXFLAGS += -g
|
|
endif
|
|
CXXFLAGS += -DCYGWIN32
|
|
ECHO := echo -e
|
|
FC := g77
|
|
FCLIBS := -lf2c
|
|
ifndef OGLFLAGS
|
|
OGLFLAGS :=
|
|
endif
|
|
ifndef OGLLIBS
|
|
OGLLIBS := -lGLU -lGL
|
|
endif
|
|
endif
|
|
|
|
# If compiler recognises implicit C++ type bool...
|
|
ifdef G4_HAVE_BOOL
|
|
CPPFLAGS += -DG4_HAVE_BOOL
|
|
endif
|
|
|
|
# If there is no cbrt() function...
|
|
ifdef G4_NO_CBRT
|
|
CPPFLAGS += -DG4_NO_CBRT
|
|
endif
|
|
|
|
# Standard Template Library (STL) not installed
|
|
ifndef G4USE_STL
|
|
ifndef G4USE_OSPACE
|
|
CPPFLAGS += -DRW_NO_STL
|
|
endif
|
|
endif
|
|
|
|
# Verbosity code can be left out (for better performance)
|
|
# by defining G4_NO_VERBOSE.
|
|
|
|
ifndef G4_NO_VERBOSE
|
|
CPPFLAGS += -DG4VERBOSE
|
|
endif
|
|
|
|
# Trajectory related classes can be left out (for better performance)
|
|
# by defining G4_NO_STORE_TRAJECTORY.
|
|
|
|
ifndef G4_NO_STORE_TRAJECTORY
|
|
CPPFLAGS += -DG4_STORE_TRAJECTORY
|
|
endif
|
|
|
|
#
|
|
# Enable/disable G4cout/G4cerr
|
|
#
|
|
|
|
# Set G4STREAM for all platforms.
|
|
|
|
G4STREAM = 1
|
|
|
|
# Set G4STREAM_STREAMBUF_IMPLEMENTATION for selected platforms.
|
|
|
|
ifeq ($(findstring AIX,$(G4SYSTEM)),AIX)
|
|
G4STREAM_STREAMBUF_IMPLEMENTATION = 1
|
|
endif
|
|
|
|
ifeq ($(findstring WIN32,$(G4SYSTEM)),WIN32)
|
|
G4STREAM_STREAMBUF_IMPLEMENTATION = 1
|
|
endif
|
|
|
|
ifdef G4STREAM
|
|
CPPFLAGS += -DG4STREAM
|
|
endif
|
|
|
|
ifdef G4STREAM_STREAMBUF_IMPLEMENTATION
|
|
CPPFLAGS += -DG4STREAM_STREAMBUF_IMPLEMENTATION
|
|
endif
|
|
|
|
#
|
|
# Template setup - repositories, special options etc
|
|
#
|
|
ifdef CFRONT_G4TEMPLATE_REPOSITORY
|
|
ifeq ($(findstring DEC,$(G4SYSTEM)),DEC)
|
|
ifdef G4EXEC_BUILD
|
|
CXXTEMPLATE_FLAGS := -ptr $(G4TREP)/exec -ptr $(G4TREP)
|
|
else
|
|
CXXTEMPLATE_FLAGS := -ptr $(G4TREP)
|
|
endif
|
|
else
|
|
ifdef G4EXEC_BUILD
|
|
CXXTEMPLATE_FLAGS := -ptr$(G4TREP)/exec -ptr$(G4TREP)
|
|
else
|
|
CXXTEMPLATE_FLAGS := -ptr$(G4TREP)
|
|
endif
|
|
endif
|
|
CXXFLAGS += $(CXXTEMPLATE_FLAGS)
|
|
CFRONT := true
|
|
endif
|
|
ifdef CFRONT
|
|
G4TEMPLATE_REPOSITORY_PARENT := $(shell echo $(G4TREP) | sed 's!/[^/][^/]*/*$$!!' )
|
|
G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4TEMPLATE_REPOSITORY_PARENT) ] && mkdir -p $(G4TEMPLATE_REPOSITORY_PARENT) )
|
|
G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4TREP) ] && mkdir -p $(G4TREP) )
|
|
G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4TREP)/exec ] &&mkdir -p $(G4TREP)/exec )
|
|
endif
|
|
|