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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
#!gmake
# Include common defines
#Change this to SHARED to build and install shared version
BUILDVERSION = STATIC
# FlexIO
# Set this to your location of FlexIO
FLEXIO_INCPATH = -I..
FLEXIO_LIBPATH = -L..
# Support Libs
# Set this to your location of the support libs (here: subdirectory Support)
ifneq ($(USE_INSTALLED_SUPPORT_LIBS), 1)
SUPPORT_INCPATH = -ISupport/include
SUPPORT_LIBPATH = -LSupport/lib
endif
# If needed: System specific LIBPATH. Here: We need to include the lib dir of our custom gcc-3.1.1 installation
SYSTEM_LIBPATH = -Wl,--rpath,/usr/global/packages/languages/gcc-3.1.1/lib
# Programs
CC = gcc3.1
CXX = g++3.1
AR = ar
INSTALL = install
RM = rm
# Options
OPTFLAGS = -g
#OPTFLAGS = -O2
SOPOSOPT = -Wl,--rpath -Wl,
AR_CREATEFLAGS = rv
# Directories
OBJDIR = objLinux
# Where to install
INSTALLPREFIX = $(HOME)/WorkCVS
INSTALLARCHDEPPREFIX = $(INSTALLPREFIX)
INSTALLBINPATH = $(INSTALLARCHDEPPREFIX)/bin
INSTALLLIBPATH = $(INSTALLARCHDEPPREFIX)/lib-g++3.1
INSTALLINCPATH = $(INSTALLPREFIX)/include
ifeq ($(USE_INSTALLED_SUPPORT_LIBS), 1)
INCPATH = -I. -I$(INSTALLINCPATH) $(FLEXIO_INCPATH)
LIBPATH = -L$(INSTALLLIBPATH) $(SOPOSOPT)$(INSTALLLIBPATH) $(FLEXIO_LIBPATH) $(SYSTEM_LIBPATH)
else
INCPATH = -I. $(FLEXIO_INCPATH) $(SUPPORT_INCPATH) -I$(INSTALLINCPATH)
LIBPATH = -L$(INSTALLLIBPATH) $(SOPOSOPT)$(INSTALLLIBPATH) $(FLEXIO_LIBPATH) $(SUPPORT_LIBPATH) $(SYSTEM_LIBPATH)
endif
CPPFLAGS = $(OPTFLAGS) $(INCPATH) -Wall
CXXFLAGS = $(PROJ_CXXFLAGS)
GeometryLib = -lGeometry
MathLib = -lm
#FlexIOLibs = -lAMR -lieeeio -lhdfio -ldf
FlexIOLibs = -lAMR -lieeeio
AMRHierLib = -lAMRHier
AMRHLIB_STATIC = libAMRHier.a
AMRHLIB_SHARED = libAMRHier.so
ifeq ($(BUILDVERSION), SHARED)
AMRHLIB = $(AMRHLIB_SHARED)
else
AMRHLIB = $(AMRHLIB_STATIC)
endif
AMRHLIB_SRC.CC = AMRHierarchy.cc AMRGrid.cc AMRLevel.cc AMRGridCell.cc
AMRHLIB_INC = AMRHierarchy.hh AMRHierarchy.icc AMRGrid.hh AMRGrid.icc AMRLevel.hh AMRLevel.icc AMRGridCell.hh AMRGridCell.icc AMRGridStitcher.hh AMRGridStitcher.cc
AMRHLIB_OBJ = $(addprefix $(OBJDIR)/, $(AMRHLIB_SRC.CC:.cc=.o))
PAMRH = PrintAMRHier
PAMRH_SRC.CC = PrintAMRHier.cc
PAMRH_OBJ = $(addprefix $(OBJDIR)/, $(PAMRH_SRC.CC:.cc=.o))
PAMRH_LIBS = $(AMRHierLib) $(FlexIOLibs) $(MathLib)
WSC = WriteStitchCells
WSC_SRC.CC = WriteStitchCells.cc StitchCellWriter.cc
WSC_OBJ = $(addprefix $(OBJDIR)/, $(WSC_SRC.CC:.cc=.o))
ifeq ($(USE_INSTALLED_SUPPORT_LIBS), 1)
WSC_LIBS = $(AMRHierLib) $(FlexIOLibs) $(GeometryLib) $(MathLib)
else
WSC_LIBS = $(AMRHierLib) $(FlexIOLibs) $(MathLib)
endif
VOL2IEEEIO = Vol2IEEEIO
VOL2IEEEIO_SRC.CC= Vol2IEEEIO.cc
VOL2IEEEIO_OBJ = $(addprefix $(OBJDIR)/, $(VOL2IEEEIO_SRC.CC:.cc=.o))
VOL2IEEEIO_LIBS = $(FlexIOLibs) -lz
DEPENDENCIES = $(AMRHLIB_OBJ:.o=.d) $(PAMRH_OBJ:.o=.d) $(WDPF_OBJ:.o=.c)
PROJ_TARGETS = $(AMRHLIB) $(PAMRH) $(WSC) $(VOL2IEEEIO)
all: $(PROJ_TARGETS)
# Implicit Rules
$(OBJDIR)/%.o: %.cc
@rm -f $(OBJDIR)/$*.d
$(COMPILE.cc) -Wp,-MD,$(OBJDIR)/$*.P $(OUTPUT_OPTION) $<
@sed -e 's/$*\.o/$(OBJDIR)\/$*.o/g' -e 's/moc_[^.]*\.cc//g' <$(OBJDIR)/$*.P >$(OBJDIR)/$*.d
@rm -f $(OBJDIR)/$*.P
# Project Rules
$(AMRHLIB_STATIC): $(AMRHLIB_OBJ)
$(AR) $(ARFLAGS) $@ $(AMRHLIB_OBJ)
$(AMRHLIB_SHARED): $(AMRHLIB_OBJ)
$(CXX) $(OPTFLAGS) -shared $(AMRHLIB_OBJ) $(AMRLib) $(IEEEIOLib) $(MathLib) -o $@
$(PAMRH): $(PAMRH_OBJ) $(AMRHLIB)
$(CXX) $(CXXFLAGS) $(PAMRH_OBJ) -L. $(LIBPATH) -o $@ $(PAMRH_LIBS)
$(WSC): $(WSC_OBJ) $(AMRHLIB)
$(CXX) $(CXXFLAGS) $(WSC_OBJ) -L. $(LIBPATH) -o $@ $(WSC_LIBS)
$(VOL2IEEEIO): $(VOL2IEEEIO_OBJ) $(AMRHLIB)
$(CXX) $(CXXFLAGS) $(VOL2IEEEIO_OBJ) -L. $(LIBPATH) -o $@ $(VOL2IEEEIO_LIBS)
install: $(TARGETS)
$(INSTALL) -d $(INSTALLINCPATH) $(INSTALLLIBPATH)
$(INSTALL) -m 644 $(AMRHLIB) $(INSTALLLIBPATH)
$(INSTALL) -m 644 $(AMRHLIB_INC) $(INSTALLINCPATH)
clean:
$(RM) -rf $(OBJDIR) core Makedepend.$(TARGET_OS) tags
setup:
mkdir $(OBJDIR)
distclean: clean
$(RM) -f $(PROJ_TARGETS)
ifeq ($(CXX), g++)
sinclude $(DEPENDENCIES)
else
sinclude Makedepend.$(TARGET_OS)
endif
|