1 |
# $Id: Makefile,v 1.0 2007/06/01 |
2 |
|
3 |
############################### geant4vmc Makefile ########################### |
4 |
|
5 |
|
6 |
PACKAGE = Pam_VMC |
7 |
|
8 |
ifeq ($(PLATFORM),) |
9 |
PLATFORM = $(shell root-config --arch) |
10 |
endif |
11 |
|
12 |
TOPDIR = $(G4VMC_DIR) |
13 |
BINDIR = $(G4WORKDIR)/tmp/tgt_$(PLATFORM)/$(PACKAGE) |
14 |
LIBDIR = $(G4WORKDIR)/lib/tgt_$(PLATFORM) |
15 |
|
16 |
ifeq ($(ROOTSYS),) |
17 |
ROOT_INCDIR = $(shell root-config --incdir) |
18 |
ROOT_BINDIR = $(shell root-config --prefix)/bin |
19 |
else |
20 |
ROOT_INCDIR = $(ROOTSYS)/include |
21 |
ROOT_BINDIR = $(ROOTSYS)/bin |
22 |
endif |
23 |
|
24 |
include $(TOPDIR)/config/Makefile.$(PLATFORM) |
25 |
|
26 |
############################### Sources ####################################### |
27 |
|
28 |
# Rules |
29 |
# |
30 |
include $(TOPDIR)/config/MakeRules |
31 |
|
32 |
# Dictionary |
33 |
# |
34 |
GDICT := $(BINDIR)/$(PACKAGE)Cint.cxx |
35 |
GDICTH := $(GDICT:.cxx=.h) |
36 |
GDICTO := $(patsubst %.cxx,$(BINDIR)/%.o,$(GDICT)) |
37 |
|
38 |
# Sources |
39 |
# |
40 |
CXXSRC := $(wildcard src/*.cxx) |
41 |
SRCS := $(CXXSRC) |
42 |
|
43 |
# C++ Headers |
44 |
# |
45 |
HDRS := $(wildcard inc/*.h) |
46 |
HDRS := $(filter-out inc/$(PACKAGE)LinkDef.h,$(HDRS)) |
47 |
HDRS += inc/$(PACKAGE)LinkDef.h |
48 |
|
49 |
# Objects |
50 |
# |
51 |
CXXOBJ := $(patsubst %.cxx,$(BINDIR)/%.o,$(CXXSRC)) |
52 |
OBJS := $(CXXOBJ) $(GDICTO) |
53 |
|
54 |
# PAMELA LIBS |
55 |
# |
56 |
PAMLIBS := -L${PAM_LIB} -lTrkLevel2 |
57 |
SHLIBS := ${PAMLIBS} |
58 |
# Make include list |
59 |
# |
60 |
PAMINC := -I${PAM_INC} -I${PAM_INC}/yoda |
61 |
INCDIR := -Iinc ${PAMINC} |
62 |
|
63 |
# C++ compilation flags |
64 |
# |
65 |
CXXFLAGS := $(CXXOPTS) -I. $(INCDIR) -I$(ROOT_INCDIR) ${PAMOPTS} |
66 |
|
67 |
DEPINC += -I. -I$(ROOT_INCDIR) $(INCDIR) |
68 |
|
69 |
############################### Targets ####################################### |
70 |
|
71 |
|
72 |
SLIBRARY = $(LIBDIR)/lib$(PACKAGE).$(SL) |
73 |
ALIBRARY = $(LIBDIR)/lib$(PACKAGE).a |
74 |
|
75 |
default: depend $(SLIBRARY) |
76 |
|
77 |
|
78 |
$(LIBDIR)/lib$(PACKAGE).$(SL): $(OBJS) |
79 |
$(LIBDIR)/lib$(PACKAGE).a: $(OBJS) |
80 |
|
81 |
DICT:= $(GDICT) |
82 |
|
83 |
$(DICT): $(HDRS) |
84 |
|
85 |
depend: $(SRCS) |
86 |
|
87 |
TOCLEAN = $(BINDIR) |
88 |
TOCLEANALL = $(BINDIR) $(LIBDIR) |
89 |
|
90 |
include $(TOPDIR)/config/MakeMacros |
91 |
|
92 |
############################### Dependencies ################################## |
93 |
|
94 |
-include $(BINDIR)/Make-depend |