aboutsummaryrefslogtreecommitdiff
path: root/src/AMRHierLib/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/AMRHierLib/Makefile')
-rw-r--r--src/AMRHierLib/Makefile138
1 files changed, 138 insertions, 0 deletions
diff --git a/src/AMRHierLib/Makefile b/src/AMRHierLib/Makefile
new file mode 100644
index 0000000..ed7714d
--- /dev/null
+++ b/src/AMRHierLib/Makefile
@@ -0,0 +1,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