diff options
Diffstat (limited to 'src/AMRHierLib/Makefile')
-rw-r--r-- | src/AMRHierLib/Makefile | 138 |
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 |