PACKAGE = GEANT321
-GDIRS = gbase gcons gdraw geocad ggeom gheisha ghits ghrout ghutils giface \
+GDIRS := gbase gcons gdraw geocad ggeom gheisha ghits ghrout ghutils giface \
giopa gkine gparal gphys gscan gstrag gtrak matx55 miface miguti \
- neutron peanut fiface cgpack fluka block comad
+ neutron peanut fiface cgpack fluka block comad erdecks erpremc
XDIRS = gxint cdf
SRCS =
##### MACROS #####
-GFSRC = $(wildcard $(patsubst %,%/*.F,$(GDIRS))) gcinit.F
-GCSRC = $(wildcard $(patsubst %,%/*.c,$(GDIRS)))
-GCXXSRC = $(wildcard $(patsubst %,%/*.cxx,$(GDIRS)))
+GFSRC := $(wildcard $(patsubst %,%/*.F,$(GDIRS))) gcinit.F
+GFSRC := $(filter-out gtrak/grndm%.F,$(GFSRC))
+GCSRC := $(wildcard $(patsubst %,%/*.c,$(GDIRS)))
+GCXXSRC := $(wildcard $(patsubst %,%/*.cxx,$(GDIRS)))
GSRC = $(GFSRC) $(GCSRC)
-GFOBJ = $(GFSRC:.F=.o)
-GCOBJ = $(GCSRC:.c=.o)
-GCXXOBJ = $(GCXXSRC:.cxx=.o)
+GFOBJ = $(patsubst %.F,tgt_$(ALICE_TARGET)/%.o,$(GFSRC))
+GCOBJ = $(patsubst %.c,tgt_$(ALICE_TARGET)/%.o,$(GCSRC))
+GCXXOBJ = $(patsubst %.cxx,tgt_$(ALICE_TARGET)/%.o,$(GCXXSRC))
GOBJ = $(GFOBJ) $(GCOBJ) $(GCXXOBJ)
XFSRC = $(wildcard $(patsubst %,%/*.F,$(XDIRS)))
XCSRC = $(wildcard $(patsubst %,%/*.c,$(XDIRS)))
XSRC = $(XFSRC) $(XCSRC) $(XCXXSRC)
-XFOBJ = $(XFSRC:.F=.o)
-XCOBJ = $(XCSRC:.c=.o)
+XFOBJ = $(patsubst %.F,tgt_$(ALICE_TARGET)/%.o,$(XFSRC))
+XCOBJ = $(patsubst %.c,tgt_$(ALICE_TARGET)/%.o,$(XCSRC))
XOBJ = $(XFOBJ) $(XCOBJ) $(XCXXOBJ)
SRCS = $(GSRC) $(XSRC)
# C++ compilation flags
-CXXFLAGS = $(CXXOPTS) $(CLIBCXXOPTS) $(CLIBDEFS) -I.
+CXXFLAGS := $(CXXOPTS) $(CLIBCXXOPTS) $(CLIBDEFS) -I.
+CXXFLAGS := $(filter-out -O%,$(CXXFLAGS))
# C compilation flags
-CFLAGS = $(COPT) $(CLIBCOPT) $(CLIBDEFS) -I.
+CFLAGS := $(COPT) $(CLIBCOPT) $(CLIBDEFS) -I.
# FORTRAN compilation flags
-FFLAGS = $(FOPT) $(CLIBFOPT) $(CLIBDEFS) -I.
+FFLAGS := $(FOPT) $(CLIBFOPT) $(CLIBDEFS) -I.
+ifeq ($(PLATFORM),linux)
+ FFLAGS := $(filter-out -O%,$(FFLAGS))
+endif
##### TARGETS #####
# Target
-SLIBRARY = $(ALICE_ROOT)/lib/libgeant321.$(SL) $(ALICE_ROOT)/lib/libgxint321.$(SL)
-ALIBRARY = $(ALICE_ROOT)/lib/libgeant321.a $(ALICE_ROOT)/lib/libgxint321.a
+SLIBRARY = $(LIBDIR)/libgeant321.$(SL) $(LIBDIR)/libgxint321.$(SL)
+ALIBRARY = $(LIBDIR)/libgeant321.a $(LIBDIR)/libgxint321.a
ifeq ($(PLATFORM),alpha)
- default: $(ALIBRARY)
+ default: $(ALIBRARY)
else
- default: $(SLIBRARY)
+ default: $(SLIBRARY)
endif
-$(ALICE_ROOT)/lib/libgeant321.$(SL) $(ALICE_ROOT)/lib/libgeant321.a: $(GOBJ)
-$(ALICE_ROOT)/lib/libgxint321.$(SL) $(ALICE_ROOT)/lib/libgxint321.$(SL): $(XOBJ)
+$(LIBDIR)/libgeant321.$(SL) $(LIBDIR)/libgeant321.a: $(GOBJ)
+$(LIBDIR)/libgxint321.$(SL) $(LIBDIR)/libgxint321.$(SL): $(XOBJ)
depend: $(SRCS)
############################ Dependencies #####################################
-include Make-depend
+-include tgt_$(ALICE_TARGET)/Make-depend