forked from root-project/root
-
Notifications
You must be signed in to change notification settings - Fork 0
/
MakeExe
106 lines (67 loc) · 2.1 KB
/
MakeExe
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
# $Id: MakeExe,v 1.1 2003/12/08 12:20:21 brun Exp $
#
# Makefile for building Geant3 example
# The example name has to be provided in TARGET variable
#
############################### geant321 Makefile #############################
ifeq ($(PLATFORM),)
PLATFORM = $(shell root-config --arch)
endif
EXEDIR = $(shell pwd)
BINDIR = ../tgt_$(PLATFORM)/examples
CONFDIR = ../config
ifeq ($(ROOTSYS),)
ROOT_INCDIR = $(shell root-config --incdir)
ROOT_BINDIR = $(shell root-config --prefix)/bin
else
ROOT_INCDIR = $(ROOTSYS)/include
ROOT_BINDIR = $(ROOTSYS)/bin
endif
# Include machine specific definitions
#
include $(CONFDIR)/Makefile.$(PLATFORM)
############################### Sources #######################################
include $(CONFDIR)/MakeRules
# Sources
FSRC := $(TARGET).F
CXXSRC := gmain.cxx
SRCS := $(FSRC) $(CXXSRC)
# Objects
FOBJ := $(patsubst %.F,$(BINDIR)/%.o,$(FSRC))
CXXOBJ := $(patsubst %.cxx,$(BINDIR)/%.o,$(CXXSRC))
OBJS := $(FOBJ) $(CXXOBJ)
# C++ compilation flags
CXXFLAGS := $(CXXOPTS) $(CLIBCXXOPTS) $(CLIBDEFS) \
-I. -I$(ROOT_INCDIR) -I../TGeant3
# C compilation flags
#CFLAGS := $(COPT) $(CLIBCOPT) $(CLIBDEFS) -I.
# FORTRAN compilation flags
FFLAGS := $(FOPT) $(CLIBFOPT) $(CLIBDEFS) -I.
DEPINC += -I. -I$(ROOT_INCDIR)
############################### Libraries #######################################
# CERNLIB
#
LDLIBS1 += -L$(CERNLIB) -lpacklib -lg2c
# geant3_+vmc
#
LDLIBS2 += -L../lib/tgt_$(PLATFORM)/ -lgeant321
# Pythia6
#
#LDLIBS3 += $(PYTHIA6)/libPythia6.so
LDLIBS3 += -L$(PYTHIA6) -lPythia6
# ROOT
#
LDLIBS4 += $(shell $(ROOT_BINDIR)/root-config --glibs) \
-lVMC -lPhysics -lEG -lEGPythia6 -lGeom
LDLIBS = $(LDLIBS4) $(LDLIBS3) $(LDLIBS2) $(LDLIBS1)
############################### Targets #######################################
PROGRAM = $(EXEDIR)/$(TARGET)
default: depend $(PROGRAM)
$(EXEDIR)/$(TARGET): $(BINDIR)/$(TARGET)
$(BINDIR)/$(TARGET): $(OBJS)
depend: $(SRCS)
TOCLEAN = $(BINDIR)
TOCLEANALL = $(BINDIR)
include $(CONFDIR)/MakeMacros
############################### Dependencies ##################################
-include $(BINDIR)/Make-depend