Import Geant4 1.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 15:28:20 +02:00
parent aaa409b6ee
commit ca1c8cb059
2995 changed files with 106830 additions and 299600 deletions
+2 -1
View File
@@ -1,4 +1,4 @@
# $Id: G4ODBMS_BUILD.gmk,v 1.1 1999/01/07 15:58:31 gunter Exp $
# $Id: G4ODBMS_BUILD.gmk,v 1.2 1999/09/17 13:15:29 morita Exp $
# ----------------------------------------------------------------
# GNUmakefile for CPPFLAGS for HepODBMS and Objectivity/DB.
# Youhei Morita, 9th July 1998.
@@ -11,6 +11,7 @@ endif
ifdef HEP_ODBMS_DIR
CPPFLAGS += -I$(HEP_ODBMS_DIR)/include \
-DHEP_ODBMS_EXPORT="" \
-DHep_HAS_BUILDIN_BOOL_CONSTANTS
endif
#--------------------------------------------------------------------
+166 -2
View File
@@ -1,5 +1,5 @@
$Id: History,v 1.50 1999/07/06 17:54:47 johna Exp $
$Name: geant4-00-01 $
$Id: History,v 1.92 1999/12/07 08:51:38 gcosmo Exp $
$Name: geant4-01-00 $
-------------------------------------------------------------------
=========================================================
@@ -17,6 +17,170 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
7th December 1999 Gabriele Cosmo (config-V00-01-19)
- architecture.gmk: minor fix on OSPACELIBS path for Win/NT.
5th December 1999 Youhei Morita (config-V00-01-18)
- architecture.gmk: defined G4OODDLX_FLAGS
- common.gmk: use G4OODDLX_FLAGS
5th December 1999 Gabriele Cosmo (config-V00-01-17)
- architecture.gmk: fixes for Win/NT.
o fixed path for OSPACELIBS
o removed -DG4NOT_ISO_DELETES flag
3rd December 1999 Gabriele Cosmo (config-V00-01-16)
- architecture.gmk: set G4_HAVE_BOOL for SUN-CC5.
3rd December 1999 Youhei Morita
- common.gmk: fixed minor typo in G4OODDLX_SCHEMA_NAME
1st December 1999 Gabriele Cosmo (config-V00-01-15)
- architecture.gmk:
o added new G4SYSTEM flavor SUN-CC5, used for testing on the new C++
compiler v5.0 on SunOS. Requires ISO/ANSI-C++ installation and native
STL by default. Compatibility with old no ISO/ANSI code is assured
through the -compat compiler option and the usage of ObjectSpace STL
(i.e. G4USE_OSPACE set).
o added new flag G4NO_STD_NAMESPACE.
HP-aCC setup with native STL assumes the ISO-ANSI installation by default,
the new flag should be explicitly set in the environment to avoid this.
o upgraded SGI-CC setup to IRIX 6.5.5, CC 7.2.1 and ObjectSpace STL.
Tests on this configuration has NOT been tested though.
1st December 1999 Youhei Morita
- architecture.gmk: added G4EXAMPLE_BOOT and G4EXAMPLE_FD
- common.gmk: copy only the .hh files
- binmake.gmk: added persistent include paths
added new targed cleandb, newboot, newfd
added G4SKIP_DEPEND for dependencies
29th November 1999 Youhei Morita
- architecture.gmk: added G4SYSTEM to G4SCHEMA_DIR, G4TMPSCHEMA_DIR
- common.gmk: changed G4SCHEMA_HEADER_DIR from G4TMPSCHEMA_INCLUDE to G4TMPDIR
added target install_schema for schema copying
- globlib.gmk: create schema header files at G4TMPDIR, then install
29th November 1999 John Allison
- Introduced LDLIBS2EXTRA so that granular libraries are not
expanded too soon.
25th November 1999 Gabriele Cosmo (config-V00-01-14)
- architecture.gmk: redefined OSPACEDIR as OSPACE_BASE_DIR to conform to
an omogeneous format. Added existence check for OSPACE and CLHEP paths.
23rd November 1999 Gabriele Cosmo (config-V00-01-13)
- architecture.gmk: added setup for ISO/ANSI installation on DEC-cxx.
If using native STL (i.e. G4USE_OSPACE not set), G4USE_STD_NAMESPACE is
implicitly defined and a strict-ANSI installation is assumed. Note that
in this case, also CLHEP must have been installed in strict-ANSI mode.
20th November 1999 Youhei Morita (config-V00-01-12)
- common.gmk: added G4OODDLX_SCHEMA_NAME to use Geant4 named schema
19th November 1999 Youhei Morita
- liblist.c: avoid coredumps when it was given non-existing directly.
18th November 1999 Gabriele Cosmo (config-V00-01-11)
- architecture.gmk: added -e option to $ECHO for Linux-g++ setup.
17th November 1999 John Allison (config-V00-01-10)
- binmake.gnk: added isotope_production/include to -I list (Hans-Peter).
17th November 1999 Youhei Morita (config-V00-01-09)
- moved schema header files to G4INSTALL/schema/include
architecture.gmk: introduced G4SCHEMA_INCLUDE and G4TMPSCHEMA_INCLUDE
common.gmk: introduced G4SCHEMA_HEADER_DIR and G4SCHEMA_SRC_DIR
globlib.gmk: added tmp schema header copying
15th November 1999 Gabriele Cosmo (config-V00-01-08)
- Tagged.
14th November 1999 Youhei Morita
- globlib.gmk: moved contruction of libmap for G4ODBMS to
source/GNUmakefile
12th November 1999 Youhei Morita
- common.gmk: introduced G4ODBMS_DEPEND and G4SKIP_DEPEND for
better handling of dependencies
- globlib.gmk: use G4ODBMS_DEPEND, automatic rebuilding of libmap
11th November 1999 Gabriele Cosmo (config-V00-01-07)
- Migration RWT->G4RWT performed:
o Removed every occurence of Rogue-Wave from configuration, replaced
RWBASE with G4STLBASE. Modified scripts: architecture.gmk, common.gmk
and binmake.gmk.
o Made setup for Native-STL the default, removed test on conditional
flag G4USE_STL.
o Removed setup for Win/NT-g++, no longer supported.
10th November 1999 Youhei Morita (config-V00-01-06)
- binmake.gmk: added path to persistency/global/include.
- common.gmk: Change G4ODBMS_DEPEND to G4ODBMS_NODDL
- globlib.gmk: removed G4ODBMS_DEPEND, modified target "global"
10th November 1999 Gabriele Cosmo (config-V00-01-05)
- binmake.gmk: added path to HEPNumerics/include which was missing.
29th October 1999 Guy Barrand
- architecture.gmk, interactivity.gmk: introduced
"G4_OPACS_WIDGET_SET lesstif" logic to handle the case
of using, on Linux, the bugged lesstif with the non bugged OPACS.
29th October 1999 Gabriele Cosmo
- Introduced fixes for shared library setup (courtesy of F.Carminati).
Modified files: architecture.gmk, common.gmk, globlib.gmk, makeshlib.sh.
28th October 1999 Gabriele Cosmo (config-V00-01-04)
- architecture.gmk: removed G4STREAM and G4STREAM_STREAMBUF_IMPLEMENTATION
flags, now no longer needed. Streambuf implementation is the default for
every platform. (by H.Yoshida)
26th October 1999 John Allison
- Augmented liblist to look for dependencies on auto-generated
headers in $G4TMP.
26th October 1999 Gabriele Cosmo (config-V00-01-03)
- Removed AIX-xlC as default platform for G4SYSTEM in architecture.gmk.
Configuration is still kept but no longer supported.
26th October 1999 Youhei Morita
- architecture.gmk: include $(HEP_ODBMS_DIR)/etc/$(OS).mk instead of
defininig load module separately. Defined G4ODBMS_LIBS.
- binmake.gmk: Use G4ODBMS_LIBS.
20th October 1999 Gabriele Cosmo (config-V00-01-02)
- architecture.gmk: removed option -DOS_NO_TYPEDEF_5 from HP-aCC
OSpace setup. Not anymore needed.
20th October 1999 John Allison
- architecture.gmk: removed G4USE_EXPLICIT_TYPES_IN_TEMPLATES (was needed
only for HP aCC; now not needed at all).
19th Octobre 1999 Youhei Morita
- common.gmk: Surpress verbose output for G4ODBMS if CPPVERBOSE
is not defined.
7th October 1999 John Allison (config-V00-01-01)
- Removed WARNINGs about granular libraries. Now standard usage. Simple
using messages printed.
17th Sep 1999 Youhei Morita
- architecture.gmk: Defined G4TMPSCHEMA_DIR, G4TMPSCHEMA_BOOT
Added OBJY_LDLIB definition for Objectivity 5.1
- binmake.gmk: LDLIBS1 += -lG4persistency
- common.gmk: Changed ooddlx boot file option to G4OODDLX_BOOT
- globlib.gmk: Changed G4EXAMPLE_BOOT to G4TMPSCHEMA_BOOT
- G4ODBMS_BUILD.gmk: Defined HEP_ODBMS_EXPORT for HepODBMS 0.3.0.x
27th July 1999 Gonzalo Gracia Abril
- Changed OSPACELIBS := '-libpath:c:\dev\ospace\lib std-2.1-vc5.0-mt.lib'
to OSPACELIBS := '-libpath:$(OSPACEDIR)\lib std-2.1-vc5.0-mt.lib'
in architecture.gmk for NT
20th July 1999 John Allison (config-V00-01-00)
- Added EXTRA_LINK_DEPENDENCIES to binmake.gmk.
6th July 1999 John Allison (config-01-00-10)
- Changed -L/usr/X11/lib to -L/usr/X11R6/lib for Linux.
+362 -383
View File
@@ -1,4 +1,4 @@
# $Id: architecture.gmk,v 1.36 1999/07/06 17:54:49 johna Exp $
# $Id: architecture.gmk,v 1.59 1999/12/07 08:37:13 gracia Exp $
# ------------------------------------------------------------------------
# GEANT 4 - Architecture configuration script for GNU Make
#
@@ -13,44 +13,39 @@
# 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 (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
# HP-aCC HP-UX 10.20, aCC A.01.21 compiler
#
# DEC-cxx DEC-OSF/1 4.0, DEC C++ 6.1
#
# Linux-g++ Linux (Red Hat 5.1), egcs 1.1
# Linux-g++ Linux (Red Hat 5.1/6.1), egcs 1.1.2
#
# 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)
# WIN32-VC Windows/NT and Microsoft Visual C++ 6.0
# Adding CYGWIN32 tools (make, g++ as "makedepend", sh...)
# Note: you will need to set your environment, see the
# installation guide.
# -------------------------------------------------------------------------
# Definition of HEP_ODBMS_LIBS, OBJY_LIBS and OSPACE_LIBS by HepODBMS.
# Note: If G4ODBMS is defined, it calls for HEP_ODBMS setup files in
# $(HEP_ODBMS_DIR)/etc/.
#
ifdef G4ODBMS
# variables LHCXXTOP and PLATF are used in HepODBMS setup
include $(HEP_ODBMS_DIR)/etc/$(OS).mk
G4ODBMS_LIBS := $(HEP_ODBMS_LIBS) $(OBJY_LIBS) $(OSPACE_LIBS)
endif
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 ...
# If not specified, the default platform for G4SYSTEM is SUN-CC ...
#
ifndef G4SYSTEM
G4SYSTEM := AIX-xlC
G4SYSTEM := SUN-CC
endif
ifeq ($(G4SYSTEM),WIN32-VC-NICE)
G4SYSTEM := WIN32-VC
endif
# If not specified, the default path for G4 installation G4INSTALL is
@@ -99,159 +94,144 @@ ifndef G4BIN
endif
G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4BIN) ] && mkdir -p $(G4BIN) )
#################### schema directories & setup for G4ODBMS ###################
#
ifdef G4ODBMS
# If not specified, the default path for G4 schema G4SCHEMA_DIR is
# set to $G4WORKDIR/schema ...
# set to $G4LIB/$G4SYSTEM/schema ...
#
ifndef G4SCHEMA_DIR
G4SCHEMA_DIR := $(G4WORKDIR)/schema
G4SCHEMA_DIR := $(G4LIB)/$(G4SYSTEM)/schema
G4SCHEMA_INCLUDE := $(G4SCHEMA_DIR)/include
endif
ifndef G4SCHEMA_FDID
G4SCHEMA_FDID := 207
endif
ifdef G4ODBMS
G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4SCHEMA_DIR) ] && mkdir -p $(G4SCHEMA_DIR) )
G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4SCHEMA_DIR) ] && mkdir -p $(G4SCHEMA_DIR) )
G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4SCHEMA_INCLUDE) ] && mkdir -p $(G4SCHEMA_INCLUDE) )
# If not specified, the default path for G4 temporary schema G4TMPSCHEMA_DIR is
# set to $G4TMP/$G4SYSTEM/schema (for building persistency library)...
#
ifndef G4TMPSCHEMA_DIR
G4TMPSCHEMA_DIR := $(G4TMP)/$(G4SYSTEM)/schema
G4TMPSCHEMA_BOOT := $(G4TMPSCHEMA_DIR)/G4SCHEMA
endif
# If not specified, the default path for G4 example federated database is
# set to $HOME/G4EXAMPLE ...
G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4TMPSCHEMA_DIR) ] && mkdir -p $(G4TMPSCHEMA_DIR) )
# If not specified, the default path for G4 example schema G4EXAMPLE_BOOT_DIR is
# set to $G4WORKDIR/exampleSchema (for persistency examples)...
#
ifndef G4EXAMPLE_BOOT_DIR
G4EXAMPLE_BOOT_DIR := $(HOME)/G4EXAMPLE
G4EXAMPLE_BOOT := $(G4EXAMPLE_BOOT_DIR)/G4EXAMPLE
G4EXAMPLE_BOOT_DIR := $(G4WORKDIR)/exampleSchema/$(G4SYSTEM)
endif
ifdef G4ODBMS
G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4EXAMPLE_BOOT_DIR) ] && mkdir -p $(G4EXAMPLE_BOOT_DIR) )
G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4EXAMPLE_BOOT_DIR) ] && mkdir -p $(G4EXAMPLE_BOOT_DIR) )
ifndef G4EXAMPLE_BOOT
G4EXAMPLE_BOOT = $(G4EXAMPLE_BOOT_DIR)/$(name)
endif
# If not specified, the default path for G4 example runtime federated
# database directory G4EXAMPLE_FD_DIR is set to $G4WORKDIR/exampleFD
# (for persistency examples)...
#
ifndef G4EXAMPLE_FD_DIR
G4EXAMPLE_FD_DIR := $(G4WORKDIR)/exampleFD/$(G4SYSTEM)
endif
G4DUMMY_VARIABLE:=$(shell [ ! -d $(G4EXAMPLE_FD_DIR) ] && mkdir -p $(G4EXAMPLE_FD_DIR) )
G4OODDLX_FLAGS := -DTEMPLATEP_HIDES_FNCD
ifndef G4EXAMPLE_FD
G4EXAMPLE_FD = $(G4EXAMPLE_FD_DIR)/$(name)
endif
endif
#
########################### end setup for G4ODBMS #############################
# 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
ifndef CLHEP_INCLUDE_DIR
CLHEP_INCLUDE_DIR := $(CLHEP_BASE_DIR)/include
endif
ifndef CLHEP_LIB_DIR
CLHEP_LIB_DIR := $(CLHEP_BASE_DIR)/lib
CLHEP_LIB := CLHEP.lib
endif
ifndef CLHEP_LIB
ifeq ($(G4SYSTEM),WIN32-VC)
CLHEP_LIB := CLHEP.lib
else
CLHEP_LIB := CLHEP
endif
endif
# Native STL is the default
#
# Rogue Wave Tools.h++ path & ObjectSpace STL
#
CPPFLAGS += -DG4USE_STL
G4STLINC := $(G4BASE)/global/STLInterface
# Path to ObjectSpace STL (or STLport <- only test for Win/NT)
#
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
# ObjectSpace STL implementation
#
ifndef OSPACE_BASE_DIR
OSPACE_BASE_DIR := /afs/cern.ch/sw/geant4/dev/ObjectSpace/$(G4SYSTEM)/pro/ToolKit
endif
OSPACEINC := -I$(OSPACE_BASE_DIR)/ospace/std -I$(OSPACE_BASE_DIR)/ospace/stl
OSPACELIBS := -L$(OSPACE_BASE_DIR)/lib -lospace
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
OSPACE_BASE_DIR := $(OBJECT_SPACE_BASE)
OSPACEINC := -I$(OSPACE_BASE_DIR)/ospace/std -I$(OSPACE_BASE_DIR)/ospace/stl -I$(OSPACE_BASE_DIR)
OSPACELIBS := '-libpath':$(OSPACE_BASE_DIR)/lib std-2.1-vc5.0-mt.lib
CPPFLAGS += -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
# STLport STL implementation
# (derived from SGI implementation) - TEST on WIN32
#
ifeq ($(G4SYSTEM),WIN32-VC)
STLPORT_BASE_DIR := $(STLPORT_BASE)
OSPACEINC := -I$(STLPORT_BASE_DIR)/stl
CPPFLAGS += -DG4USE_OLDSTL
CPPFLAGS += -D_NOTHREADS -D__STL_NO_NEW_IOSTREAMS -D__STL_NO_NAMESPACES
CPPFLAGS += -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)
@@ -262,9 +242,9 @@ ifeq ($(G4SYSTEM),WIN32-VC)
LIB_PATH := '-libpath:'
CERNLIB_PATH := "z:\p32\cern\new\df\lib"
PATH_DEL := \\
#
# pattern for next substitution
#
#
# pattern for next substitution
#
LIB_PATT := lib(LibName).a
FLIB_PATT := (LibName).lib
else
@@ -275,47 +255,31 @@ else
LIB_PATH := -L
CERNLIB_PATH := /cern/pro/lib
PATH_DEL := /
#
# pattern for next substitution
#
#
# 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 += -Iinclude -I$(G4STLINC)
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
@@ -355,35 +319,225 @@ ifndef OIVLIBS
OIVLIBS := -L${HEPVISLIB} -lHEPVis -lInventorXt -lInventor -lGLU -lGL
endif
# ----------------- OPACS --------------------
# lesstiff is bugged for popups ; then OPACS/Xo uses
# the Xaw widgets for handling popups. The OPACS distrib
# for Linux assumes that lesstif is used by default. To be
# coherent we set in Geant4 the default toolkit to lesstif
# on Linux in order to link with -lXaw, etc...
ifndef G4_OPACS_WIDGET_SET
G4_OPACS_WIDGET_SET := Xm
ifeq ($(G4SYSTEM),Linux-g++)
G4_OPACS_WIDGET_SET := lesstif
else
G4_OPACS_WIDGET_SET := Xm
endif
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...
# Architecture dependent setups...
#
# -------- AIX ----------
# -------- 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
X11FLAGS += -I/usr/openwin/include
X11LIBS := -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib
X11LIBS += -R/usr/openwin/lib -lXmu -lX11 -lXext
XMLIBS := -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib
XMLIBS += -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
XAWLIBS += -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
CPPFLAGS += -DSOCKET_IRIX_SOLARIS
LOADLIBS += -L/usr/lib -lsocket -lnsl
CPPFLAGS += -DG4NOT_ISO_DELETES
CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM)
ifdef G4USE_OSPACE
CPPFLAGS += -DOS_SOLARIS_2_5 -DOS_NEW_CHECK -DOS_STL_ASSERT
CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS
CPPFLAGS += $(OSPACEINC) -I$(OSPACE_BASE_DIR)
endif
endif
# -------- SUN/CC5 --------- !!! under testing !!!
# SunOS-2.6 CC-5.0
ifeq ($(G4SYSTEM),SUN-CC5)
CXX := CC
ifdef G4OPTIMISE
CXXFLAGS := -O
else
CXXFLAGS := -g
FCFLAGS := -g
CCFLAGS := -g
endif
# CXXFLAGS += -fnonstd
G4_HAVE_BOOL := yes
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
X11FLAGS += -I/usr/openwin/include
X11LIBS := -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib
X11LIBS += -R/usr/openwin/lib -lXmu -lX11 -lXext
XMLIBS := -L/usr/openwin/lib -L/usr/dt/lib -L/usr/ucblib
XMLIBS += -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
XAWLIBS += -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
CPPFLAGS += -DSOCKET_IRIX_SOLARIS
LOADLIBS += -L/usr/lib -lsocket -lnsl
CPPFLAGS += -DG4NOT_ISO_DELETES
CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM)
ifdef G4USE_OSPACE
CPPFLAGS += -DOS_SOLARIS_2_5 -DOS_NEW_CHECK -DOS_STL_ASSERT
CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS
CPPFLAGS += $(OSPACEINC) -I$(OSPACE_BASE_DIR)
CXXFLAGS += -compat
else
ifndef G4NO_STD_NAMESPACE
G4USE_STD_NAMESPACE := yes
CPPFLAGS += -DG4USE_STD_NAMESPACE
else
CXXFLAGS += -compat
endif
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
X11FLAGS += -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
CPPFLAGS += -DG4NOT_ISO_DELETES
CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM)
ifdef G4USE_OSPACE
CPPFLAGS += -DOS_HPUX_10_20 -DOS_NEW_CHECK -DOS_STL_ASSERT
CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS -D__HPACC_NOEH
CPPFLAGS += $(OSPACEINC) -I$(OSPACE_BASE_DIR)
else
ifndef G4NO_STD_NAMESPACE
G4USE_STD_NAMESPACE := yes
CPPFLAGS += -DG4USE_STD_NAMESPACE
endif
endif
endif
# -------- SGI --------- !!! not supported !!!
# Irix-6.5.5 CC-7.2.1
ifeq ($(G4SYSTEM),SGI-CC)
CXX := CC
ifdef G4OPTIMISE
CXXFLAGS := -O -OPT:Olimit=5000
else
CXXFLAGS := -g
FCFLAGS := -g
CCFLAGS := -g
endif
G4_HAVE_BOOL := yes
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
CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM)
ifdef G4USE_OSPACE
CPPFLAGS += -DOS_IRIX_6_5 -DOS_NEW_CHECK -DOS_STL_ASSERT
CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS
CPPFLAGS += $(OSPACEINC) -I$(OSPACE_BASE_DIR)
endif
endif
# -------- AIX ---------- !!! not supported !!!
# AIX-4.3.2 xlC
ifeq ($(G4SYSTEM),AIX-xlC)
CXX := xlC
ifdef G4OPTIMISE
@@ -408,145 +562,12 @@ ifeq ($(G4SYSTEM),AIX-xlC)
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
CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM)
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)
CPPFLAGS += -DOS_AIX_4 -DOS_NEW_CHECK -DOS_STL_ASSERT
CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS
CPPFLAGS += $(OSPACEINC) -I$(OSPACE_BASE_DIR)
endif
endif
@@ -561,9 +582,7 @@ ifeq ($(G4SYSTEM),DEC-cxx)
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
@@ -576,14 +595,18 @@ ifeq ($(G4SYSTEM),DEC-cxx)
OGLLIBS := -L$(OGLHOME)/lib -lGLU -lGL
# OGLLIBS := -lMesaGLU -lMesaGL
endif
ifdef G4USE_STL
CPPFLAGS += -I$(RWINC)/wrappers/$(G4SYSTEM)
CXXFLAGS += -nostdnew
endif
CPPFLAGS += -I$(G4STLINC)/wrappers/$(G4SYSTEM)
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)
CPPFLAGS += -DOS_OSF1_4 -DOS_NEW_CHECK -DOS_STL_ASSERT -DOS_NO_WSTRING
CPPFLAGS += -DOS_NO_ALLOCATORS -D__NO_EDG_EXCEPTION_CLASSES
CPPFLAGS += $(OSPACEINC) -I$(OSPACE_BASE_DIR)
CXXFLAGS += -nostdnew
else
ifndef G4NO_STD_NAMESPACE
G4USE_STD_NAMESPACE := yes
CXXFLAGS += -std strict_ansi
CPPFLAGS += -DG4USE_STD_NAMESPACE
endif
endif
endif
@@ -595,15 +618,22 @@ ifeq ($(G4SYSTEM),Linux-g++)
CXXFLAGS := -pipe -fno-for-scope -DGNU_GCC
ifdef G4OPTIMISE
CXXFLAGS += -O
FCFLAGS := -O
CCFLAGS := -O
else
CXXFLAGS += -g
FCFLAGS := -g
CCFLAGS := -g
endif
ifdef G4MAKESHLIB
CXXFLAGS += -fPIC
FCFLAGS += -fPIC
CCFLAGS += -fPIC
endif
FC := g77
FCFLAGS += -fno-automatic -fno-backslash -fno-second-underscore
FCLIBS := -lf2c
ECHO := /bin/echo
ECHO := /bin/echo -e
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
@@ -616,8 +646,12 @@ ifeq ($(G4SYSTEM),Linux-g++)
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)
CPPFLAGS += -DOS_LINUX_2 -DOS_NEW_CHECK -DOS_STL_ASSERT
CPPFLAGS += -DOS_NO_WSTRING -DOS_NO_ALLOCATORS
CPPFLAGS += -I$(OSPACE_BASE_DIR)/ospace/std -I$(OSPACE_BASE_DIR)
endif
ifdef G4ODBMS
G4OODDLX_FLAGS += -D__STL_CLASS_PARTIAL_SPECIALIZATION -Dstd=""
endif
endif
@@ -632,29 +666,29 @@ ifeq ($(G4SYSTEM),WIN32-VC)
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
CXXFLAGS += -MD -GX -Zm200 -nologo -DWIN32 -D_CONSOLE
CXXFLAGS += -D_WIN32 -DOS
CPPFLAGS += -DWIN32
#
# 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'
#
# 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
@@ -667,87 +701,32 @@ endif #ospace
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
+66 -30
View File
@@ -1,4 +1,4 @@
# $Id: binmake.gmk,v 1.29 1999/07/06 15:19:42 gunter Exp $
# $Id: binmake.gmk,v 1.39 1999/12/01 14:40:43 morita Exp $
# ----------------------------------------------------------
# Script defining rules and paths for making binaries.
# Gabriele Cosmo, 25/06/1998.
@@ -19,6 +19,7 @@ ifndef INCFLAGS
-I$(G4BASE)/global/management/include \
-I$(G4BASE)/global/HEPRandom/include \
-I$(G4BASE)/global/HEPGeometry/include \
-I$(G4BASE)/global/HEPNumerics/include \
-I$(G4BASE)/run/include \
-I$(G4BASE)/materials/include \
-I$(G4BASE)/particles/management/include \
@@ -56,6 +57,7 @@ ifndef INCFLAGS
-I$(G4BASE)/processes/hadronic/models/high_energy/include \
-I$(G4BASE)/processes/hadronic/models/low_energy/include \
-I$(G4BASE)/processes/hadronic/models/neutron_hp/include \
-I$(G4BASE)/processes/hadronic/models/isotope_production/include \
-I$(G4BASE)/processes/hadronic/stopping/include \
-I$(G4BASE)/geometry/management/include \
-I$(G4BASE)/geometry/solids/CSG/include \
@@ -78,18 +80,16 @@ endif
ifdef G4ODBMS
INCFLAGS += \
-I$(G4BASE)/persistency/management/include \
-I$(G4BASE)/persistency/events/include \
-I$(G4BASE)/persistency/global/include \
-I$(G4BASE)/persistency/digits+hits/hits/include \
-I$(G4BASE)/persistency/geometry/management/include \
-I$(G4BASE)/persistency/geometry/volumes/include \
-I$(G4BASE)/persistency/digits+hits/digits/include \
-I$(G4BASE)/persistency/events/include \
-I$(G4BASE)/persistency/geometry/global/include \
-I$(G4BASE)/persistency/geometry/solids/CSG/include \
-I$(G4TMP)/$(G4SYSTEM)/G4pmanagement \
-I$(G4TMP)/$(G4SYSTEM)/G4pevents \
-I$(G4TMP)/$(G4SYSTEM)/G4phits \
-I$(G4TMP)/$(G4SYSTEM)/G4pgeomn \
-I$(G4TMP)/$(G4SYSTEM)/G4pvol \
-I$(G4TMP)/$(G4SYSTEM)/G4pcsg \
-I$(G4BASE)/persistency/geometry/solids/Boolean/include \
-I$(G4BASE)/persistency/geometry/management/include \
-I$(G4BASE)/persistency/management/include \
-I$(G4SCHEMA_INCLUDE) \
-I$(OBJY_DIR)/include \
-I$(HEP_ODBMS_DIR)/include \
-DHep_HAS_BUILDIN_BOOL_CONSTANTS
@@ -131,11 +131,12 @@ ifdef GLOBALLIBS
LDLIBS1 += $(VISLIBS) $(UILIBS)
endif
ifdef G4ODBMS
LDLIBS1 += -lG4persistency
endif
ifdef GLOBALLIBS
ifdef G4ODBMS
LDLIBS1 += -lG4persistency
endif
LDLIBS2 := -lG4readout \
-lG4run \
-lG4event \
@@ -159,8 +160,10 @@ else
$(G4LIB)/$(G4SYSTEM)/liblist \
-d $(G4TMPDIR) \
< $(G4LIB)/$(G4SYSTEM)/libname.map; fi)
# Warning: do not add to LDLIBS2 with += becuase this causes it to be
# expanded too soon. Hence extra libraries must have a different name...
# Extra libraries to resolve remaining circular dependencies...
# LDLIBS2 +=
# LDLIBS2EXTRA =
endif
# LDLIBS3 contains the first set of low level libraries...
@@ -176,10 +179,10 @@ ifdef G4ODBMS
LDFLAGS += -L$(OBJY_DIR)/lib \
-L$(HEP_ODBMS_DIR)/lib
# Note: -l$(OBJY_LDLIB) and -lHepODBMS should be placed
# _before_ -l$(CLHEP_LIB) -l$(RWLIB)
# Note: $(G4ODBMS_LIBS) should be placed
# _before_ -l$(CLHEP_LIB)
LDLIBS4 += -l$(OBJY_LDLIB) -lHepODBMS
LDLIBS4 += $(G4ODBMS_LIBS)
endif
ifdef G4USE_OSPACE
LDLIBS4 += $(OSPACELIBS)
@@ -193,7 +196,8 @@ LDLIBS4 += $(LOADLIBS)
ifdef USER_DEFINED_LDLIBS
LDLIBS_PREFINAL := $(LDLIBS)
else
LDLIBS_PREFINAL = $(LDLIBS1) $(LDLIBS2) $(LDLIBS3)
# Again, do not use := or +=. See note on LDLIBS2 above.
LDLIBS_PREFINAL = $(LDLIBS1) $(LDLIBS2) $(LDLIBS2EXTRA) $(LDLIBS3)
endif
LDLIBS_PREFINAL += $(LDLIBS4)
@@ -210,9 +214,13 @@ sources := $(wildcard $(G4TARGET).cc)
objects := $(patsubst %.cc,$(G4TMPDIR)/exe/%.o,$(sources))
dependencies := $(patsubst %.cc,$(G4TMPDIR)/exe/%.d,$(sources))
LINK_DEPENDENCIES := $(G4TMPDIR)/exe/obj.last
LINK_DEPENDENCIES := $(G4TMPDIR)/exe/obj.last $(EXTRA_LINK_DEPENDENCIES)
ifndef G4ODBMS
.PHONY: bin clean clean_bin debug
else
.PHONY: bin clean clean_bin debug cleandb newboot newfd
endif
# Make $(G4TARGET) executable.
bin: $(G4BINDIR)/$(G4TARGET)
@@ -220,14 +228,7 @@ bin: $(G4BINDIR)/$(G4TARGET)
$(G4BINDIR)/$(G4TARGET): $(LINK_DEPENDENCIES)
ifndef USER_DEFINED_LDLIBS
ifndef GLOBALLIBS
@echo "WARNING: This assumes you are using granular libraries!"
@echo "WARNING: It looked for your global library G4global and,"
@echo " not finding it, assumes you are using granular"
@echo " libraries."
@echo "WARNING: If you did not intend this, interrupt now (CTRL-C),"
@echo " and go back and make global libraries, i.e.,"
@echo ' cd $$G4INSTALL/source'
@echo " gmake global"
@echo "Using granular libraries."
@if [ ! \( -f $(G4LIB)/$(G4SYSTEM)/liblist \
-a -f $(G4LIB)/$(G4SYSTEM)/libname.map \) ]; then \
echo "ERROR: No liblist program or library map file."; \
@@ -239,6 +240,8 @@ ifndef USER_DEFINED_LDLIBS
echo " granular libraries:"; \
echo " gmake libmap"; \
exit 1; fi
else
@echo "Using global libraries."
endif
endif
@if [ ! -d $(G4BINDIR) ] ; then mkdir $(G4BINDIR) ;fi
@@ -273,14 +276,19 @@ else
endif
# Make the $(G4TARGET).d file and include it.
ifdef G4SKIP_DEPEND
$(G4TMPDIR)/exe/$(G4TARGET).d: $(G4TARGET).cc
@echo Skip dependency file creation for file $< ...
else
$(G4TMPDIR)/exe/$(G4TARGET).d: $(G4TARGET).cc
@if [ ! -d $(G4TMP)/$(G4SYSTEM) ] ; then mkdir $(G4TMP)/$(G4SYSTEM) ;fi
@if [ ! -d $(G4TMPDIR) ] ; then mkdir $(G4TMPDIR) ;fi
@if [ ! -d $(G4TMPDIR)/exe ] ; then mkdir $(G4TMPDIR)/exe ;fi
@echo Making dependency for file $<...
@($(ECHO) $(G4TMPDIR)/exe/\\c ; \
g++ -MM $(RWINCGPP) $(CPPFLAGS) $< ) | sed 's!$(G4TMPDIR)/exe/$*.o!& $@!' >$@
g++ -MM $(CPPFLAGS) $< ) | sed 's!$(G4TMPDIR)/exe/$*.o!& $@!' >$@
-include $(dependencies)
endif
clean:
@echo Cleaning up ...
@@ -296,3 +304,31 @@ clean_bin:
@echo Removing application $(G4TARGET) ...
@rm -f ./core
@rm -f $(G4BINDIR)/$(G4TARGET)
############################+ targets for G4ODBMS +############################
ifdef G4ODBMS
cleandb: clean newboot
newboot:
@echo Copying schema file to $(G4EXAMPLE_BOOT) for FDID $(G4EXAMPLE_FDID)
@rm -f $(G4EXAMPLE_BOOT_DIR)/$(name)
@rm -f $(G4EXAMPLE_BOOT_DIR)/$(name).FDDB
@rm -f $(G4EXAMPLE_BOOT_DIR)/*.$(name).DB
@$(HEP_ODBMS_DIR)/etc/getdb $(G4SCHEMA_DIR)/G4SCHEMA \
$(G4EXAMPLE_BOOT) $(G4SCHEMA_FDID)
newfd:
ifndef G4EXAMPLE_FDID
@echo G4EXAMPLE_FDID is not defined. Stop.
exit 1
endif
@echo Creating new runtime federated database $(G4EXAMPLE_BOOT) for FDID $(G4EXAMPLE_FDID)
@rm -f $(G4EXAMPLE_FD_DIR)/$(name)
@rm -f $(G4EXAMPLE_FD_DIR)/$(name).FDDB
@rm -f $(G4EXAMPLE_FD_DIR)/*.$(name).DB
@$(HEP_ODBMS_DIR)/etc/getdb $(G4EXAMPLE_BOOT) \
$(G4EXAMPLE_FD) $(G4EXAMPLE_FDID)
endif
############################- targets for G4ODBMS -############################
+70 -30
View File
@@ -1,32 +1,42 @@
# $Id: common.gmk,v 1.1 1999/01/07 15:58:32 gunter Exp $
# $Id: common.gmk,v 1.14 1999/12/05 22:41:38 morita Exp $
# ----------------------------------------------------------------
# Common part of GNUmakefile for libraries. John Allison, 5/7/95.
# ----------------------------------------------------------------
# Libraries are created according to G4SYSTEM. G.Cosmo, 11/6/96.
# Introduced G4LIBDIR and G4TMPDIR. G.Cosmo, 23/6/98.
# Introduced G4SCHEMA_HEADER_DIR and G4SCHEMA_SRC_DIR. Y.Morita, 16/11/99.
ifndef G4LIBDIR
G4LIBDIR := $(G4LIB)/$(G4SYSTEM)
endif
G4TMPDIR := $(G4TMP)/$(G4SYSTEM)/$(name)
ifdef G4ODBMS_INSTALLATION
G4OODDLX_SCHEMA_NAME := -schema Geant4
else
G4OODDLX_SCHEMA_NAME :=
endif
G4SCHEMA_HEADER_DIR := $(G4TMPDIR)
G4SCHEMA_SRC_DIR := $(G4TMPDIR)
sources := $(wildcard src/*.cc)
schema_ddl := $(wildcard include/*.ddl)
schema_hh := $(patsubst include/%.ddl,$(G4TMPDIR)/%.hh,$(schema_ddl))
schema_hh := $(patsubst include/%.ddl,$(G4SCHEMA_HEADER_DIR)/%.hh,$(schema_ddl))
schema_ref_hh := $(patsubst include/%.ddl,$(G4SCHEMA_HEADER_DIR)/%_ref.hh,$(schema_ddl))
objects := $(patsubst src/%.cc,$(G4TMPDIR)/%.o,$(sources))
dependencies := $(patsubst src/%.cc,$(G4TMPDIR)/%.d,$(sources))
# output of ooddlx in G4TMPDIR (.hh, _ref.hh, _ddl.cc)
#
temporaries := $(patsubst include/%.ddl,$(G4TMPDIR)/%.hh,$(schema_ddl))
temporaries := $(patsubst include/%.ddl,$(G4SCHEMA_HEADER_DIR)/%.hh,$(schema_ddl))
# output of ooddlx in the current directory (if the process does not finish)
#
temporaries2 := $(patsubst include/%.ddl,%.hh,$(schema_ddl))
ifdef G4ODBMS
temporaries += $(patsubst include/%.ddl,$(G4TMPDIR)/%_ddl.cc,$(schema_ddl)) \
$(patsubst include/%.ddl,$(G4TMPDIR)/%_ref.hh,$(schema_ddl))
temporaries += $(patsubst include/%.ddl,$(G4SCHEMA_SRC_DIR)/%_ddl.cc,$(schema_ddl)) \
$(patsubst include/%.ddl,$(G4SCHEMA_HEADER_DIR)/%_ref.hh,$(schema_ddl))
temporaries2 += $(patsubst include/%.ddl,%_ddl.cc,$(schema_ddl)) \
$(patsubst include/%.ddl,%_ref.hh,$(schema_ddl))
objects += $(patsubst include/%.ddl,$(G4TMPDIR)/%_ddl.o,$(schema_ddl))
@@ -35,9 +45,13 @@ endif
ifneq ($(G4MAKESHLIB),)
# Make shared library.
$(G4LIBDIR)/lib$(name).$(SHEXT): $(G4LIBDIR)/lib$(name).a
@cp $(objects) $(G4LIBDIR)/.
sh $(G4MAKESHLIB) $(G4LIBDIR) $(name)
$(RM) $(G4LIBDIR)/*.o
ifneq ($(G4TMPDIR),$(G4LIBDIR))
@cp $(G4TMPDIR)/*.o $(G4LIBDIR)/.
@sh $(G4MAKESHLIB) $(G4LIBDIR) $(name)
@$(RM) $(G4LIBDIR)/*.o
else
@sh $(G4MAKESHLIB) $(G4LIBDIR) $(name)
endif
endif
# Make library.
@@ -65,54 +79,73 @@ else
@$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(OUT_OBJ)$(G4TMPDIR)/$(*F).o src/$*.cc
endif
ifdef G4ODBMS
$(G4TMPDIR)/%.o: $(G4TMPDIR)/%.cc
$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $(G4TMPDIR)/$(*F).o $(G4TMPDIR)/$*.cc
$(G4TMPDIR)/%.o: $(G4SCHEMA_SRC_DIR)/%.cc
ifdef CPPVERBOSE
$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $(G4TMPDIR)/$(*F).o $(G4SCHEMA_SRC_DIR)/$*.cc
else
@echo Compiling $*.cc ...
@$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $(G4TMPDIR)/$(*F).o $(G4SCHEMA_SRC_DIR)/$*.cc
endif
endif
# Make the temporary files.
.PRECIOUS: $(G4TMPDIR)/%_ddl.cc ddl/%.hh $(G4TMPDIR)/%_ref.hh
.PRECIOUS: $(G4SCHEMA_SRC_DIR)/%_ddl.cc $(G4SCHEMA_HEADER_DIR)/%.hh $(G4SCHEMA_HEADER_DIR)/%_ref.hh
ifdef G4ODBMS
$(G4TMPDIR)/%_ddl.cc $(G4TMPDIR)/%.hh $(G4TMPDIR)/%_ref.hh: include/%.ddl
$(G4SCHEMA_SRC_DIR)/%_ddl.cc $(G4SCHEMA_HEADER_DIR)/%.hh $(G4SCHEMA_HEADER_DIR)/%_ref.hh: include/%.ddl
ifndef G4OODDLX_BOOT
@echo G4OODDLX_BOOT is not defined. Stop.
exit 1
endif
@if [ ! -d $(G4TMP)/$(G4SYSTEM) ] ; then mkdir $(G4TMP)/$(G4SYSTEM) ;fi
@if [ ! -d $(G4TMPDIR) ] ; then mkdir $(G4TMPDIR) ;fi
ooddlx -notitle -header_suffix .hh -ref_suffix _ref.hh -c++_suffix _ddl.cc \
-DRW_NO_CONST_OVERLOAD -DRW_NO_STL -DTEMPLATEP_HIDES_FNCD \
$(CPPFLAGS) $< $(G4EXAMPLE_BOOT)
mv -f $*.hh $(G4TMPDIR)/
mv -f $*_ref.hh $(G4TMPDIR)/
mv -f $*_ddl.cc $(G4TMPDIR)/
@if [ ! -d $(G4SCHEMA_HEADER_DIR) ] ; then mkdir $(G4SCHEMA_HEADER_DIR) ;fi
@if [ ! -d $(G4SCHEMA_SRC_DIR) ] ; then mkdir $(G4SCHEMA_SRC_DIR) ;fi
ifdef CPPVERBOSE
ooddlx -notitle $(G4OODDLX_SCHEMA_NAME) \
-header_suffix .hh -ref_suffix _ref.hh -c++_suffix _ddl.cc \
$(G4OODDLX_FLAGS) $(CPPFLAGS) $< $(G4OODDLX_BOOT)
else
$(G4TMPDIR)/%.hh: include/%.ddl
@if [ ! -d $(G4TMP)/$(G4SYSTEM) ] ; then mkdir $(G4TMP)/$(G4SYSTEM) ;fi
@if [ ! -d $(G4TMPDIR) ] ; then mkdir $(G4TMPDIR) ;fi
ln -s -f ../$< $(G4TMPDIR)/$*.hh
@echo Preprocessing $< ...
@ooddlx -notitle $(G4OODDLX_SCHEMA_NAME) \
-header_suffix .hh -ref_suffix _ref.hh -c++_suffix _ddl.cc \
$(G4OODDLX_FLAGS) $(CPPFLAGS) $< $(G4OODDLX_BOOT)
endif
@mv -f $*.hh $(G4SCHEMA_HEADER_DIR)/
@mv -f $*_ref.hh $(G4SCHEMA_HEADER_DIR)/
@mv -f $*_ddl.cc $(G4SCHEMA_SRC_DIR)/
endif
# Make the .d file(s) and include it(them).
# g++ -MM is good at this, except it forgets the subdirectory
# (hence the use of $G4TMP/).
# define G4SKIP_DEPEND for simplicity
ifndef G4ODBMS_DEPEND
ifdef G4ODBMS
$(G4TMPDIR)/%.d: src/%.cc $(schema_hh)
G4SKIP_DEPEND := 1
endif
endif
ifdef G4SKIP_DEPEND
$(G4TMPDIR)/%.d:
@echo Skip dependency file creation for file $< ...
else
$(G4TMPDIR)/%.d: src/%.cc
endif
@if [ ! -d $(G4TMP)/$(G4SYSTEM) ] ; then mkdir $(G4TMP)/$(G4SYSTEM) ;fi
@if [ ! -d $(G4TMPDIR) ] ; then mkdir $(G4TMPDIR) ;fi
@echo Making dependency for file $< ...
@($(ECHO) $(G4TMPDIR)/\\c ; \
g++ -MM $(RWINCGPP) $(CPPFLAGS) $< ) | sed 's!$(G4TMPDIR)/$*.o!& $@!' >$@
ifdef G4ODBMS
ifdef G4ODBMS_DEPEND
-include $(dependencies)
endif
else
g++ -MM $(CPPFLAGS) $< ) | sed 's!$(G4TMPDIR)/$*.o!& $@!' >$@
-include $(dependencies)
endif
# .PHONY targets are executed regardless of time-stamp of any file of
# same name.
ifdef G4ODBMS_DEPEND
.PHONY: all obj lib clean clean_libs d_files install_schema
else
.PHONY: all obj lib clean clean_libs
endif
obj: $(G4TMPDIR)/obj.last
@@ -122,6 +155,11 @@ headers: $(schema_hh)
d_files: $(dependencies)
$(schema_hh): $(schema_ddl)
install_schema:
@echo installing schema header files ...
-@(cp -f $(G4TMPDIR)/*.hh $(G4SCHEMA_INCLUDE)/ || \
echo " schema header file does not exist, so ignore the error message...")
endif
ifneq ($(G4MAKESHLIB),)
@@ -134,6 +172,7 @@ ifndef G4EXLIB
clean:
@echo Cleaning up ...
@rm -f $(G4LIBDIR)/lib$(name).a
@rm -f $(schema_hh) $(schema_ref_hh)
@rm -rf $(G4TMPDIR)
endif
@@ -141,3 +180,4 @@ clean_libs:
@if [ -f $(G4LIBDIR)/lib$(name).a ] ; then \
$(ECHO) Removing library lib$(name).a ... ; \
$(RM) -f $(G4LIBDIR)/lib$(name).a ; fi
+15 -9
View File
@@ -1,4 +1,4 @@
# $Id: globlib.gmk,v 1.2 1999/07/06 15:19:44 gunter Exp $
# $Id: globlib.gmk,v 1.10 1999/11/30 19:41:08 morita Exp $
# --------------------------------------------------------------
# Script for compound libraries. Gabriele Cosmo, 25/6/98.
# --------------------------------------------------------------
@@ -18,14 +18,22 @@ ifndef G4ODBMS
@for dir in $(SUBDIRS); do (cd $$dir; $(MAKE)); done
else
@for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) headers); done
@for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) d_files); done
@for dir in $(SUBDIRS); do (cd $$dir; G4ODBMS_DEPEND=1; export G4ODBMS_DEPEND; $(MAKE)); done
@for dir in $(SUBDIRS); do (cd $$dir; G4ODBMS_DEPEND=1; \
export G4ODBMS_DEPEND; $(MAKE)); done
@echo Copying tmp schema header from G4TMPDIR to $(G4SCHEMA_INCLUDE)
@rm -f $(G4SCHEMA_INCLUDE)/*.hh
@for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) install_schema); done
@echo Copying tmp schema to $(G4SCHEMA_DIR) for FDID $(G4SCHEMA_FDID)
@rm -f $(G4SCHEMA_DIR)/G4SCHEMA
@rm -f $(G4SCHEMA_DIR)/G4SCHEMA.FDDB
@$(HEP_ODBMS_DIR)/etc/getdb $(G4TMPSCHEMA_BOOT) \
$(G4SCHEMA_DIR)/G4SCHEMA $(G4SCHEMA_FDID)
endif
ifndef G4ODBMS
glob global: objs wipe_libs $(G4LIBDIR)/lib$(name).a
else
glob global: all $(G4LIBDIR)/lib$(name).a $(G4SCHEMA_DIR)/G4SCHEMA.FDDB
glob global: headers d_files objs wipe_libs $(G4LIBDIR)/lib$(name).a $(G4SCHEMA_DIR)/G4SCHEMA.FDDB
endif
$(G4LIBDIR)/lib$(name).a: \
@@ -67,7 +75,7 @@ $(G4LIBDIR)/lib$(name).a: \
ifneq ($(G4MAKESHLIB),)
@for lib in $(SUBLIBS); do (cp $(G4TMP)/$(G4SYSTEM)/$$lib/*.o $(G4LIBDIR)/.); done
@sh $(G4MAKESHLIB) $(G4LIBDIR) $(name)
$(RM) $(G4LIBDIR)/*.o
@$(RM) $(G4LIBDIR)/*.o
endif
ifdef G4ODBMS
@@ -77,15 +85,13 @@ headers:
d_files:
@for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) d_files); done
$(G4SCHEMA_DIR)/G4SCHEMA.FDDB: $(G4EXAMPLE_BOOT_DIR)/G4EXAMPLE.FDDB
ifdef G4SCHEMA_DIR
$(G4SCHEMA_DIR)/G4SCHEMA.FDDB: $(G4TMPSCHEMA_DIR)/G4SCHEMA.FDDB
@rm -f $(G4SCHEMA_DIR)/G4SCHEMA
@rm -f $(G4SCHEMA_DIR)/G4SCHEMA.FDDB
@echo Copying schema file to $(G4SCHEMA_DIR) for FDID $(G4SCHEMA_FDID)
@$(HEP_ODBMS_DIR)/etc/getdb $(G4EXAMPLE_BOOT) \
@$(HEP_ODBMS_DIR)/etc/getdb $(G4TMPSCHEMA_BOOT) \
$(G4SCHEMA_DIR)/G4SCHEMA $(G4SCHEMA_FDID)
endif
endif
objs:
@for dir in $(SUBDIRS); \
+15 -2
View File
@@ -32,7 +32,12 @@ ifdef INC_OPACS
ifeq ($(G4_OPACS_WIDGET_SET),Xm)
INC_XM = 1
CPPFLAGS += -DHAS_XM
else
endif
ifeq ($(G4_OPACS_WIDGET_SET),lesstif)
INC_XM = 1
CPPFLAGS += -DHAS_XM
endif
ifeq ($(G4_OPACS_WIDGET_SET),Xaw)
INC_XAW = 1
CPPFLAGS += -DHAS_XAW
endif
@@ -44,7 +49,15 @@ ifeq ($(G4_OPACS_WIDGET_SET),Xm)
INC_XM = 1
LOAD_XM = 1
INTYLIBS += -L$(WOROOT)/$(OCONFIG) -lWoXm
else
endif
ifeq ($(G4_OPACS_WIDGET_SET),lesstif)
INC_XM = 1
LOAD_XM = 1
INTYLIBS += -L$(WOROOT)/$(OCONFIG) -lWoXm
# lesstif is bugged on popup ; then OPACS/Xo uses Xaw for popup.
LOAD_XAW = 1
endif
ifeq ($(G4_OPACS_WIDGET_SET),Xaw)
INC_XAW = 1
LOAD_XAW = 1
INTYLIBS += -L$(WOROOT)/$(OCONFIG) -lWoXaw
+66 -34
View File
@@ -1,4 +1,4 @@
/* $Id: liblist.c,v 1.7 1999/07/02 12:27:38 stesting Exp $ */
/* $Id: liblist.c,v 1.9 1999/11/19 18:01:40 morita Exp $ */
/*
Given a "libname.map" file on standard input and a list or directory
@@ -53,6 +53,8 @@ char** parsedir(char *directory,int *argc)
/*Open the actual directory*/
actualdir=opendir(directory);
if(!actualdir) return targv;
/*Loop over all entries */
for(entry=readdir(actualdir);entry!=NULL;entry=readdir(actualdir))
{
@@ -126,10 +128,10 @@ int main (int argc, char** argv) {
struct libmap_
{
char *lib;
char *trigger;
int used;
char **uses;
char *lib; /* Library name, e.g., G4run. */
char *trigger; /* Source directory, e.g., source/run/. */
int used; /* True if used by these dependency files. */
char **uses; /* List of library names which this library uses. */
struct libmap_ *next;
};
@@ -307,41 +309,71 @@ int main (int argc, char** argv) {
{
userLibmapPtr=0;
}
/* Look for a "used" library and add it to the "user" uses list... */
do
bufferPtr=strtok(NULL,"\n"); /* Start *after* ":". */
if (!bufferPtr)
{
for(libmapPtr=libmap;libmapPtr;libmapPtr=libmapPtr->next)
{
strcpy(workbuf,libmapPtr->trigger);
strcat(workbuf,"/include");
ptr=strstr(buffer,workbuf);
if(ptr)
{
libmapPtr->used=1;
if(userLibmapPtr)
{
for(pp=userLibmapPtr->uses;*pp;pp++)
{
if(strcmp(*pp,libmapPtr->lib)==0)break;
}
if(!*pp)*pp=libmapPtr->lib;
}
}
}
fgets(buffer,BUFSIZE,fp);
fprintf(stderr," WARNING: It seems there is nothing after \':\' in dependency file %s.\n", rargv[i]);
}
else {
do
{
for(libmapPtr=libmap;libmapPtr;libmapPtr=libmapPtr->next)
{
/* Look for trigger string. */
strcpy(workbuf,libmapPtr->trigger);
strcat(workbuf,"/include");
ptr=strstr(bufferPtr,workbuf);
if(ptr && (userLibmapPtr != libmapPtr))
{
libmapPtr->used=1;
if(userLibmapPtr)
{
for(pp=userLibmapPtr->uses;*pp;pp++)
{
if(strcmp(*pp,libmapPtr->lib)==0)break;
}
if(!*pp)*pp=libmapPtr->lib;
}
}
/* Also look for library name in case header files are
placed in temporary directories under a subdirectory
with the same name as the library name. This can
happen with Objectivity which makes header files
from .ddl files and places them in a temporary
directory. */
strcpy(workbuf,libmapPtr->lib);
strcat(workbuf,"/");
ptr=strstr(bufferPtr,workbuf);
if(ptr && (userLibmapPtr != libmapPtr))
{
libmapPtr->used=1;
if(userLibmapPtr)
{
for(pp=userLibmapPtr->uses;*pp;pp++)
{
if(strcmp(*pp,libmapPtr->lib)==0)break;
}
if(!*pp)*pp=libmapPtr->lib;
}
}
}
fgets(buffer,BUFSIZE,fp);
bufferPtr=buffer;
#ifdef _WIN32
while ( ptr=strchr(buffer,'\\') ) *ptr='/';
while ( ptr=strchr(buffer,'\\') ) *ptr='/';
while (ntg4tmp1 && (ptr=strstr(buffer,ntg4tmp1)) )
{
for(nti=0;nti<strlen(ntg4tmp1);nti++) ptr[nti]=' ';
}
while (ntg4tmp1 && (ptr=strstr(buffer,ntg4tmp1)) )
{
for(nti=0;nti<strlen(ntg4tmp1);nti++) ptr[nti]=' ';
}
#endif
} while(!feof(fp));
fclose(fp);
} while(!feof(fp));
fclose(fp);
}
}
#ifdef _WIN32
+14 -4
View File
@@ -1,6 +1,6 @@
#!/bin/sh -f
############################################
#### To build GEANT4 sheared libraries #####
##### To build GEANT4 shared libraries #####
############# G.Barrand ####################
############################################
if test $# -eq 2 ; then
@@ -59,6 +59,15 @@ cd ..
echo "$libso built."
fi
if test `uname` = "Linux" ; then
cd $g4system
# For path same remarks as for OSF1.
libso=lib$name.so
/bin/rm -f $libso
g++ -Wl,-soname,$libso -shared *.o -o $libso
echo "$libso built."
fi
if test `uname` = "AIX" ; then
# Not yet ready.
exit
@@ -72,8 +81,8 @@ libso=lib$name'.so'
objs=`ls *.o`
# Determine how to invoke nm depending on AIX version
AIXVERSION=`uname -v`
case ${AIXVERSION}
{
case ${AIXVERSION} in
#{
3*)
NM=/usr/ucb/nm
;;
@@ -84,7 +93,8 @@ case ${AIXVERSION}
echo "Error in g4makeshlib.sh!"
exit 1
;;
}
#}
esac
# Build export file (from Mesa mklib.aix).
echo "#! lib$name.so " > lib$name.exp
echo "noentry" >> lib$name.exp