Commit 0c68c81b authored by Jan Zapletal's avatar Jan Zapletal

simplified Makefile

parent 0c2ad814
# Environment
MKDIR=mkdir
CP=cp
CCADMIN=CCadmin
# USER
EIGEN_INC=/home/zap150/eigen-eigen-b3f3d4950030
SIMD=4
CXX=icpc
CXXFLAGS=-m64 -xHost -qopenmp -w2 -I${MKLROOT}/include -I${EIGEN_INC}
CXXFLAGS=-m64 -xHost -DDATA_WIDTH=${SIMD} -qopenmp -O3 -std=c++11 -w2 -I${MKLROOT}/include -I${EIGEN_INC}
LDLIBSOPTIONS=-qopenmp -L${MKLROOT}/lib/intel64 -Wl,-rpath,'${MKLROOT}/lib/intel64' -lmkl_core -lmkl_intel_thread -lmkl_intel_lp64
#CXX=g++
#CXXFLAGS=-m64 -fopenmp -Wall -Wno-sign-compare -I${MKLROOT}/include -I${EIGEN_INC}
#CXXFLAGS=-m64 -fopenmp -O3 -std=c++11 -DDATA_WIDTH=${SIMD} -Wall -Wno-sign-compare -I${MKLROOT}/include -I${EIGEN_INC}
#LDLIBSOPTIONS=-fopenmp -L${MKLROOT}/lib/intel64 -Wl,-rpath,'${MKLROOT}/lib/intel64' -lmkl_core -lmkl_gnu_thread -lmkl_intel_lp64
# build
build: .build-post
.build-pre:
# Add your pre 'build' code here...
.build-post: .build-impl
# Add your post 'build' code here...
# clean
clean: .clean-post
.clean-pre:
# Add your pre 'clean' code here...
.clean-post: .clean-impl
# Add your post 'clean' code here...
# clobber
clobber: .clobber-post
.clobber-pre:
# Add your pre 'clobber' code here...
.clobber-post: .clobber-impl
# Add your post 'clobber' code here...
# all
all: .all-post
.all-pre:
# Add your pre 'all' code here...
.all-post: .all-impl
# Add your post 'all' code here...
# build tests
build-tests: .build-tests-post
.build-tests-pre:
# Add your pre 'build-tests' code here...
.build-tests-post: .build-tests-impl
# Add your post 'build-tests' code here...
# run tests
test: .test-post
.test-pre: build-tests
# Add your pre 'test' code here...
.test-post: .test-impl
# Add your post 'test' code here...
# help
help: .help-post
.help-pre:
# Add your pre 'help' code here...
.help-post: .help-impl
# Add your post 'help' code here...
# include project implementation makefile
include nbproject/Makefile-impl.mk
# include project make variables
include nbproject/Makefile-variables.mk
################################################################################
# Environment
CC=${CXX}
CCC=${CXX}
# Object Directory
OBJECTDIR=build/heatdtn_lib
# Object Files
OBJECTFILES= \
${OBJECTDIR}/BEBilinearForm.o \
${OBJECTDIR}/BEBilinearFormLaplace1Layer.o \
${OBJECTDIR}/BEBilinearFormLaplace2Layer.o \
${OBJECTDIR}/BEBilinearFormLaplaceHypersingular.o \
${OBJECTDIR}/BEIntegrator.o \
${OBJECTDIR}/BEIntegratorLaplace.o \
${OBJECTDIR}/BESpace.o \
${OBJECTDIR}/CompoundLinearOperator.o \
${OBJECTDIR}/FullMatrix.o \
${OBJECTDIR}/IdentityOperator.o \
${OBJECTDIR}/InverseLinearOperator.o \
${OBJECTDIR}/Matrix.o \
${OBJECTDIR}/Mesh.o \
${OBJECTDIR}/PotentialsLaplace.o \
${OBJECTDIR}/RepresentationFormula.o \
${OBJECTDIR}/RepresentationFormulaLaplace.o \
${OBJECTDIR}/SparseMatrix.o \
${OBJECTDIR}/SurfaceMesh3D.o \
${OBJECTDIR}/Vector.o \
${OBJECTDIR}/heatdtn.o
build: ${OBJECTFILES}
mkdir -p dist/heatdtn_lib
$(CXX) -o dist/heatdtn_lib/libheatdtn.so ${OBJECTFILES} ${LDLIBSOPTIONS} -shared -fPIC
${OBJECTDIR}/BEBilinearForm.o: BEBilinearForm.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/BEBilinearForm.o BEBilinearForm.cpp
${OBJECTDIR}/BEBilinearFormLaplace1Layer.o: BEBilinearFormLaplace1Layer.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/BEBilinearFormLaplace1Layer.o BEBilinearFormLaplace1Layer.cpp
${OBJECTDIR}/BEBilinearFormLaplace2Layer.o: BEBilinearFormLaplace2Layer.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/BEBilinearFormLaplace2Layer.o BEBilinearFormLaplace2Layer.cpp
${OBJECTDIR}/BEBilinearFormLaplaceHypersingular.o: BEBilinearFormLaplaceHypersingular.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/BEBilinearFormLaplaceHypersingular.o BEBilinearFormLaplaceHypersingular.cpp
${OBJECTDIR}/BEIntegrator.o: BEIntegrator.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/BEIntegrator.o BEIntegrator.cpp
${OBJECTDIR}/BEIntegratorLaplace.o: BEIntegratorLaplace.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/BEIntegratorLaplace.o BEIntegratorLaplace.cpp
${OBJECTDIR}/BESpace.o: BESpace.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/BESpace.o BESpace.cpp
${OBJECTDIR}/CompoundLinearOperator.o: CompoundLinearOperator.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/CompoundLinearOperator.o CompoundLinearOperator.cpp
${OBJECTDIR}/FullMatrix.o: FullMatrix.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/FullMatrix.o FullMatrix.cpp
${OBJECTDIR}/IdentityOperator.o: IdentityOperator.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/IdentityOperator.o IdentityOperator.cpp
${OBJECTDIR}/InverseLinearOperator.o: InverseLinearOperator.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/InverseLinearOperator.o InverseLinearOperator.cpp
${OBJECTDIR}/LaplaceHypersingularOperator.o: LaplaceHypersingularOperator.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/LaplaceHypersingularOperator.o LaplaceHypersingularOperator.cpp
${OBJECTDIR}/Matrix.o: Matrix.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/Matrix.o Matrix.cpp
${OBJECTDIR}/Mesh.o: Mesh.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/Mesh.o Mesh.cpp
${OBJECTDIR}/PotentialsLaplace.o: PotentialsLaplace.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/PotentialsLaplace.o PotentialsLaplace.cpp
${OBJECTDIR}/RepresentationFormula.o: RepresentationFormula.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/RepresentationFormula.o RepresentationFormula.cpp
${OBJECTDIR}/RepresentationFormulaLaplace.o: RepresentationFormulaLaplace.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/RepresentationFormulaLaplace.o RepresentationFormulaLaplace.cpp
${OBJECTDIR}/SparseMatrix.o: SparseMatrix.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/SparseMatrix.o SparseMatrix.cpp
${OBJECTDIR}/SurfaceMesh3D.o: SurfaceMesh3D.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/SurfaceMesh3D.o SurfaceMesh3D.cpp
${OBJECTDIR}/Vector.o: Vector.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/Vector.o Vector.cpp
${OBJECTDIR}/heatdtn.o: heatdtn.cpp
mkdir -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/heatdtn.o heatdtn.cpp
clean:
${RM} -rf build/heatdtn_lib
${RM} -rf dist/heatdtn_lib
help:
@echo "This makefile supports the following targets:"
@echo " build (default target)"
@echo " clean"
@echo " help"
@echo ""
@echo "Makefile Usage:"
@echo " make build"
@echo " make clean"
@echo " make help"
@echo ""
@echo ""
......@@ -14,7 +14,7 @@ The Makefile for heatDtN have been derived from a NetBeans project, the project
```
EIGEN_INC=/home/zap150/eigen-eigen-b3f3d4950030
```
and run the MKL script `mklvars.sh` distributed with Intel MKL to se the `MKLROOT` variable. The variables `CXX`, `CXXFLAGS`, `LDLIBSOPTIONS` should then be set by the user, see the examples below for the Intel and GNU toolchains. Please note that the Intel compiler is recommended to make use of vectorization.
and run the MKL script `mklvars.sh` distributed with Intel MKL to se the `MKLROOT` variable. The variable `SIMD` defines the `simdlen` clause for OpenMP `simd` pragmas, i.e. should be set to `4` for AVX2 and `8` for AVX512. The variables `CXX`, `CXXFLAGS`, `LDLIBSOPTIONS` should be set by the user, see the examples below for the Intel and GNU toolchains. Please note that the Intel compiler is recommended to make use of vectorization.
### Intel
......@@ -38,7 +38,44 @@ A simple program linking against `libheatdtn.so` is provided in the directory `.
## heatDtN API
### Generation of the Dirichlet-to-Neumann map
```
void getLaplaceSteklovPoincare(
double * S,
double * a,
double * beta,
int nNodes,
const double * nodes,
int nElems,
const int * elems,
double alpha,
int qType,
int orderNear,
int orderFar,
bem4idata< int, double > *& data,
bool nonsymmetric = false,
bool verbose = false
);
```
### Representation formula
```
void evaluateLaplaceRepresentationFormula(
int nNodes,
const double * nodes,
int nElems,
const int * elems,
int nPoints,
const double * points,
double * values,
double * dirichlet,
int qOrderDisj,
bem4idata< int, double > *& data,
bool verbose = false
);
```
......
......@@ -8,26 +8,9 @@
#ifndef SETTINGS_H
#define SETTINGS_H
//#define OPTIMIZATION
// loads fenv.h and checks for floating-point exceptions
//#define FENV
/*
* Intel Xeon Phi settings
*/
#define N_MIC ( 0 )
#define MIC_CHUNK ( 50.0e6 )
#define N_MIC_THREADS ( 240 )
// Host power relatively to the Intel Xeon Phi coprocessor
#define HOST_TO_MIC_PERF ( 1.0 )
#define DATA_ALIGN ( 64 )
#define DATA_WIDTH ( 4 )
#define BUBBLE_MULT ( 27 )
//#define D_REG_MULT ( 0.01 )
/*!
* define the size of BLAS and LAPACK indexing
......@@ -37,43 +20,16 @@
*/
#ifndef BLAS_INT
#ifndef BLAS_LONG
#define BLAS_INT
//#define BLAS_LONG
#endif
#endif
/*!
* is PARDISO present at the system?
*/
#undef HAS_PARDISO
/*!
* whether to use experimental basis functions for time domain wave equation
*/
#undef EXPERIMENTAL_WAVE
/*!
* is IPOPT present at the system?
*/
//#define IPOPT
#define VERBOSE
//#define MORE_VERBOSE
//#define SILENT
#ifdef MORE_VERBOSE
#define VERBOSE
#endif
/*!
* define what technology to use to accelerate FMM matrix-vector multiplication
* FMM_SCALAR no acceleration
* FMM_OMP use OpenMP to accelerate matrix-vector multiplication
*/
//#define FMM_SCALAR
#define FMM_OMP
#endif /* SETTINGS_H */
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a -pre and a -post target defined where you can add customized code.
#
# This makefile implements configuration specific macros and targets.
# Environment
MKDIR=mkdir
CC=${CXX}
CCC=${CXX}
# Macros
CND_DLIB_EXT=so
CND_CONF=heatdtn_lib
CND_DISTDIR=dist
CND_BUILDDIR=build
# Include project Makefile
include Makefile
# Object Directory
OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}
# Object Files
OBJECTFILES= \
${OBJECTDIR}/BEBilinearForm.o \
${OBJECTDIR}/BEBilinearFormLaplace1Layer.o \
${OBJECTDIR}/BEBilinearFormLaplace2Layer.o \
${OBJECTDIR}/BEBilinearFormLaplaceHypersingular.o \
${OBJECTDIR}/BEIntegrator.o \
${OBJECTDIR}/BEIntegratorLaplace.o \
${OBJECTDIR}/BESpace.o \
${OBJECTDIR}/CompoundLinearOperator.o \
${OBJECTDIR}/FullMatrix.o \
${OBJECTDIR}/IdentityOperator.o \
${OBJECTDIR}/InverseLinearOperator.o \
${OBJECTDIR}/Matrix.o \
${OBJECTDIR}/Mesh.o \
${OBJECTDIR}/PotentialsLaplace.o \
${OBJECTDIR}/RepresentationFormula.o \
${OBJECTDIR}/RepresentationFormulaLaplace.o \
${OBJECTDIR}/SparseMatrix.o \
${OBJECTDIR}/SurfaceMesh3D.o \
${OBJECTDIR}/Vector.o \
${OBJECTDIR}/heatdtn.o
.build-conf: ${BUILD_SUBPROJECTS}
"${MAKE}" -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/libheatdtn.${CND_DLIB_EXT}
${CND_DISTDIR}/${CND_CONF}/libheatdtn.${CND_DLIB_EXT}: ${OBJECTFILES}
${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}
$(CXX) -o ${CND_DISTDIR}/${CND_CONF}/libheatdtn.${CND_DLIB_EXT} ${OBJECTFILES} ${LDLIBSOPTIONS} -shared -fPIC
${OBJECTDIR}/BEBilinearForm.o: BEBilinearForm.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/BEBilinearForm.o BEBilinearForm.cpp
${OBJECTDIR}/BEBilinearFormLaplace1Layer.o: BEBilinearFormLaplace1Layer.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/BEBilinearFormLaplace1Layer.o BEBilinearFormLaplace1Layer.cpp
${OBJECTDIR}/BEBilinearFormLaplace2Layer.o: BEBilinearFormLaplace2Layer.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/BEBilinearFormLaplace2Layer.o BEBilinearFormLaplace2Layer.cpp
${OBJECTDIR}/BEBilinearFormLaplaceHypersingular.o: BEBilinearFormLaplaceHypersingular.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/BEBilinearFormLaplaceHypersingular.o BEBilinearFormLaplaceHypersingular.cpp
${OBJECTDIR}/BEIntegrator.o: BEIntegrator.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/BEIntegrator.o BEIntegrator.cpp
${OBJECTDIR}/BEIntegratorLaplace.o: BEIntegratorLaplace.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/BEIntegratorLaplace.o BEIntegratorLaplace.cpp
${OBJECTDIR}/BESpace.o: BESpace.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/BESpace.o BESpace.cpp
${OBJECTDIR}/CompoundLinearOperator.o: CompoundLinearOperator.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/CompoundLinearOperator.o CompoundLinearOperator.cpp
${OBJECTDIR}/FullMatrix.o: FullMatrix.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/FullMatrix.o FullMatrix.cpp
${OBJECTDIR}/IdentityOperator.o: IdentityOperator.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/IdentityOperator.o IdentityOperator.cpp
${OBJECTDIR}/InverseLinearOperator.o: InverseLinearOperator.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/InverseLinearOperator.o InverseLinearOperator.cpp
${OBJECTDIR}/LaplaceHypersingularOperator.o: LaplaceHypersingularOperator.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/LaplaceHypersingularOperator.o LaplaceHypersingularOperator.cpp
${OBJECTDIR}/Matrix.o: Matrix.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/Matrix.o Matrix.cpp
${OBJECTDIR}/Mesh.o: Mesh.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/Mesh.o Mesh.cpp
${OBJECTDIR}/PotentialsLaplace.o: PotentialsLaplace.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/PotentialsLaplace.o PotentialsLaplace.cpp
${OBJECTDIR}/RepresentationFormula.o: RepresentationFormula.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/RepresentationFormula.o RepresentationFormula.cpp
${OBJECTDIR}/RepresentationFormulaLaplace.o: RepresentationFormulaLaplace.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/RepresentationFormulaLaplace.o RepresentationFormulaLaplace.cpp
${OBJECTDIR}/SparseMatrix.o: SparseMatrix.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/SparseMatrix.o SparseMatrix.cpp
${OBJECTDIR}/SurfaceMesh3D.o: SurfaceMesh3D.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/SurfaceMesh3D.o SurfaceMesh3D.cpp
${OBJECTDIR}/Vector.o: Vector.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/Vector.o Vector.cpp
${OBJECTDIR}/heatdtn.o: heatdtn.cpp
${MKDIR} -p ${OBJECTDIR}
${RM} "$@.d"
$(COMPILE.cc) -O3 -std=c++11 -fPIC -MMD -MP -MF "$@.d" -o ${OBJECTDIR}/heatdtn.o heatdtn.cpp
# Subprojects
.build-subprojects:
# Clean Targets
.clean-conf: ${CLEAN_SUBPROJECTS}
${RM} -r ${CND_BUILDDIR}/${CND_CONF}
# Subprojects
.clean-subprojects:
# Enable dependency checking
.dep.inc: .depcheck-impl
include .dep.inc
#
# Generated Makefile - do not edit!
#
# Edit the Makefile in the project folder instead (../Makefile). Each target
# has a pre- and a post- target defined where you can add customization code.
#
# This makefile implements macros and targets common to all configurations.
#
# NOCDDL
# Building and Cleaning subprojects are done by default, but can be controlled with the SUB
# macro. If SUB=no, subprojects will not be built or cleaned. The following macro
# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
# and .clean-reqprojects-conf unless SUB has the value 'no'
SUB_no=NO
SUBPROJECTS=${SUB_${SUB}}
BUILD_SUBPROJECTS_=.build-subprojects
BUILD_SUBPROJECTS_NO=
BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
CLEAN_SUBPROJECTS_=.clean-subprojects
CLEAN_SUBPROJECTS_NO=
CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
# Project Name
PROJECTNAME=bem4i
# Active Configuration
DEFAULTCONF=heatdtn_lib
CONF=${DEFAULTCONF}
# All Configurations
ALLCONFS=heatdtn_lib
# build
.build-impl: .build-pre .validate-impl .depcheck-impl
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf
# clean
.clean-impl: .clean-pre .validate-impl .depcheck-impl
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf
# clobber
.clobber-impl: .clobber-pre .depcheck-impl
@#echo "=> Running $@..."
for CONF in ${ALLCONFS}; \
do \
"${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \
done
# all
.all-impl: .all-pre .depcheck-impl
@#echo "=> Running $@..."
for CONF in ${ALLCONFS}; \
do \
"${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \
done
# build tests
.build-tests-impl: .build-impl .build-tests-pre
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf
# run tests
.test-impl: .build-tests-impl .test-pre
@#echo "=> Running $@... Configuration=$(CONF)"
"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf
# dependency checking support
.depcheck-impl:
@echo "# This code depends on make tool being used" >.dep.inc
@if [ -n "${MAKE_VERSION}" ]; then \
echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES} \$${TESTOBJECTFILES}))" >>.dep.inc; \
echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
echo "include \$${DEPFILES}" >>.dep.inc; \
echo "endif" >>.dep.inc; \
else \
echo ".KEEP_STATE:" >>.dep.inc; \
echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
fi
# configuration validation
.validate-impl:
@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
then \
echo ""; \
echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \
echo "See 'make help' for details."; \
echo "Current directory: " `pwd`; \
echo ""; \
fi
@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
then \
exit 1; \
fi
# help
.help-impl: .help-pre
@echo "This makefile supports the following configurations:"
@echo " ${ALLCONFS}"
@echo ""
@echo "and the following targets:"
@echo " build (default target)"
@echo " clean"
@echo " clobber"
@echo " all"
@echo " help"
@echo ""
@echo "Makefile Usage:"
@echo " make [CONF=<CONFIGURATION>] [SUB=no] build"
@echo " make [CONF=<CONFIGURATION>] [SUB=no] clean"
@echo " make [SUB=no] clobber"
@echo " make [SUB=no] all"
@echo " make help"
@echo ""
@echo "Target 'build' will build a specific configuration and, unless 'SUB=no',"
@echo " also build subprojects."
@echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no',"
@echo " also clean subprojects."
@echo "Target 'clobber' will remove all built files from all configurations and,"
@echo " unless 'SUB=no', also from subprojects."
@echo "Target 'all' will will build all configurations and, unless 'SUB=no',"
@echo " also build subprojects."
@echo "Target 'help' prints this message."
@echo ""
#
# Generated - do not edit!
#
# NOCDDL
#
CND_BASEDIR=`pwd`
CND_BUILDDIR=build
CND_DISTDIR=dist
# heatdtn_lib configuration
CND_ARTIFACT_DIR_heatdtn_lib=dist/heatdtn_lib
CND_ARTIFACT_NAME_heatdtn_lib=libheatdtn.so
CND_ARTIFACT_PATH_heatdtn_lib=dist/heatdtn_lib/Intel-Linux/libheatdtn.so
CND_PACKAGE_DIR_heatdtn_lib=dist/heatdtn_lib/package
CND_PACKAGE_NAME_heatdtn_lib=libbem4i.so.tar
CND_PACKAGE_PATH_heatdtn_lib=dist/heatdtn_lib/Intel-Linux/package/libbem4i.so.tar
#
# include compiler specific variables
#
# dmake command
ROOT:sh = test -f nbproject/private/Makefile-variables.mk || \
(mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk)
#
# gmake command
.PHONY: $(shell test -f nbproject/private/Makefile-variables.mk || (mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk))
#
include nbproject/private/Makefile-variables.mk
#!/bin/bash -x
#
# Generated - do not edit!
#
# Macros
TOP=`pwd`
CND_CONF=heatdtn_lib
CND_DISTDIR=dist
CND_BUILDDIR=build
CND_DLIB_EXT=so
NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/tmp-packaging
TMPDIRNAME=tmp-packaging
OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/libheatdtn.${CND_DLIB_EXT}
OUTPUT_BASENAME=libheatdtn.${CND_DLIB_EXT}
PACKAGE_TOP_DIR=libbem4i.so/
# Functions
function checkReturnCode
{
rc=$?
if [ $rc != 0 ]
then
exit $rc
fi
}
function makeDirectory
# $1 directory path
# $2 permission (optional)
{
mkdir -p "$1"
checkReturnCode
if [ "$2" != "" ]
then
chmod $2 "$1"
checkReturnCode
fi
}
function copyFileToTmpDir
# $1 from-file path
# $2 to-file path
# $3 permission
{
cp "$1" "$2"
checkReturnCode
if [ "$3" != "" ]
then
chmod $3 "$2"
checkReturnCode
fi
}
# Setup