# $Id: GNUmakefile,v 1.10 2006/11/10 21:04:51 duns Exp $
# --------------------------------------------------------------
# GNUmakefile for examples module
# --------------------------------------------------------------

name := A01app
G4TARGET := $(name)
G4EXLIB := true

ifndef G4INSTALL
  G4INSTALL = ../../../..
endif

.PHONY: all
all: lib bin

#
# A01 uses its own physics lists. 
#

#OSC:begin
# OpenScientist compilation and link flags :
# Disconnect the usage of other GUIs :
G4UI_USE_TERMINAL :=
G4UI_USE_XM :=
G4UI_USE_XAW :=
G4UI_USE_QT :=
G4UI_USE_WIN32 :=
G4UI_USE_TCSH :=
G4UI_USE_GAG :=
G4UI_USE_OSC :=
# Disconnect the usage of vis drivers that may interfer :
G4VIS_USE_OPENGLX :=
G4VIS_USE_OPENGLXM :=
G4VIS_USE_OPENGLWIN32 :=
G4VIS_USE_OIX :=
G4VIS_USE_OIWIN32 :=
G4VIS_USE_OPACS :=
CPPFLAGS += `osc-config --g4lab_incs`
INTYLIBS += $(shell osc-config --g4lab_libs)
INTYLIBS += `osc-config --iv_libs`

# Enable OpenScientist AIDA implementation :
G4ANALYSIS_USE := 1
G4ANALYSIS_AIDA_CONFIG_CFLAGS = `aida-config --include`
G4ANALYSIS_AIDA_CONFIG_LIBS = `OnXLab_aida_config --libs`
#G4ANALYSIS_AIDA_CONFIG_LIBS = `OnXLab_aida_config --libs`
#OSC:end

include $(G4INSTALL)/config/binmake.gmk

CXXFLAGS_WITHOUT_O := $(filter-out -O% , $(CXXFLAGS))
CXXFLAGS_WITHOUT_O := $(filter-out +O% , $(CXXFLAGS_WITHOUT_O))

#
# A01HadronPhysics fails to compile in optimized mode on Linux, Darwin, using g++
# so it needs this special rule. Hans-Peter Wellish.
#
ifeq ($(G4SYSTEM),Linux-g++) 
   A01HADRON_NO_OPTIMIZE = 1
endif
ifeq ($(G4SYSTEM),Linux-g++2) 
   A01HADRON_NO_OPTIMIZE = 1
endif
ifeq ($(G4SYSTEM),Linux-g++3) 
   A01HADRON_NO_OPTIMIZE = 1
endif
ifeq ($(G4SYSTEM),Darwin-g++) 
   A01HADRON_NO_OPTIMIZE = 1
endif
ifeq ($(G4SYSTEM),Darwin-g++2) 
   A01HADRON_NO_OPTIMIZE = 1
endif
ifeq ($(G4SYSTEM),Darwin-g++3) 
   A01HADRON_NO_OPTIMIZE = 1
endif

ifdef A01HADRON_NO_OPTIMIZE
$(G4TMP)/$(G4SYSTEM)/$(name)/A01HadronPhysics.o: src/A01HadronPhysics.cc
	@echo "Compiling A01HadronPhysics.cc without optimization..."
	@$(CXX) $(CXXFLAGS_WITHOUT_O) $(CPPFLAGS) -c $(OUT_OBJ)$@ src/A01HadronPhysics.cc
endif

ifdef G4ANALYSIS_USE
   CPPFLAGS += `aida-config --include`
   LDLIBS += `aida-config --lib`
endif
