function install_cpp_make {
# $1: dir to install
+# $2 (opt): if set to "lib" the fPIC flag is added
+
+ # find makefile
+ if [ -f /usr/share/mbuild/cpp.make ]
+ then
+ makefile=/usr/share/mbuild/cpp.make
+ elif [ -f $cwd/projects/tools/make/cpp.make ]
+ then
+ makefile=$cwd/projects/tools/make/cpp.make
+ else
+ echo "cannot find cpp makefile." >&2
+ exit 1
+ fi
src=$(pwd);
pushd $1
if [ -f makefile ]; then rm makefile; fi
if [ -L makefile ]; then rm makefile; fi
if [ -f make.post ]; then rm make.post; fi
- ln -s $cwd/projects/tools/make/cpp.make makefile
+ ln -s $makefile makefile
echo "SOURCE = \\" > make.pre
for file in $(ls *.cpp)
do
else
echo "CXXFLAGS += -std=c++0x" >> make.pre
fi
+
+ # compilation of libraries need fPIC flag
+ if [ "$2" == "lib" ]
+ then
+ echo "CXXFLAGS += -fPIC" >> make.pre
+ fi
+
popd
}
-function append_dependency {
-# adds another drectory, where a c++ compile is performed
+function append_dependency_common {
+# common part of append_dependency and append_library
# parameter:
# $1: main directory
# $2: dependency directory
echo "DEPS += $3" >> $1/make.pre
echo "$3:" >> $1/make.post
echo " cd $src/$2 && make TARGET=$3" >> $1/make.post
+}
+
+function append_dependency {
+# adds another drectory, where a c++ compile is performed
+ append_dependency_common $*
echo "" >> $1/make.post
}
# parameter:
# $1: main directory
# $2: library name (without l or lib )
+# $3: library path (optional)
src=$(pwd)
echo "EXTLIB += -l$2" >> $1/make.pre
+ if [ -n "$3" ]
+ then
+ lib_path=$3
+ if [ ${lib_path:0:1} != "/" ]
+ then
+ lib_path="$src/$lib_path"
+ fi
+ echo "LDFLAGS += -L$lib_path" >> $1/make.pre
+ fi
}
function append_library {
# $2: dependency directory
# $3: dependency artefact
- src=$(pwd)
- echo "DEPS += $3" >> $1/make.pre
- echo "LDLIBS += $3" >> $1/make.pre
- echo "CXXFLAGS += -I$src/$2" >> $1/make.pre
- echo "$3:" >> $1/make.post
- echo " cd $src/$2 && make TARGET=$3" >> $1/make.post
+ append_dependency_common $*
echo " ln -sf $src/$2/$3 ." >> $1/make.post
echo "" >> $1/make.post
+
+ echo "LDLIBS += $3" >> $1/make.pre
+ echo "CXXFLAGS += -I$src/$2" >> $1/make.pre
+
}