diff --git a/CHANGELOG.md b/CHANGELOG.md index 9423f46486f09fbf76d64f4806180910e8ff5235..430b92ae1c44aa2ae7b3ee047fd0f0e2bed4556d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # FSL base project changelog + +## 2112.0 (Saturday 11th December 2021) + +* Add `-pthread` to the standard C++ compiler flags for `g++`. +* Adjust the `depend.mk` rule to allow saving object files to a separate + build directory. + + ## 2111.9 (Wednesday 8th December 2021) * If the `${LDFLAGS}` environment variable is set in the environment, any diff --git a/config/buildSettings.mk b/config/buildSettings.mk index 5257812a9744a36427e764c55105dc59ffd02add..6876b77be299e077c78f3b5ed272606b22ab3322 100644 --- a/config/buildSettings.mk +++ b/config/buildSettings.mk @@ -163,7 +163,11 @@ ifeq ($(SYSTYPE), Linux) endif LDFLAGS += -Wl,-rpath,'${FSLDIR}/lib' \ -Wl,-rpath-link,'${FSLDIR}/lib' - ARCHLIBS += -lopenblas -lz -lm + + # Libraries which are implicitly available + # to all projects for linking + ARCHCXXFLAGS += -pthread + ARCHLIBS += -lopenblas -lz -lm endif ##################################################################### diff --git a/config/rules.mk b/config/rules.mk index 815fefd1c1496112533e3de87e6d40978e5e05cc..df832a3948feab95ab2243a46282d899956b9175 100644 --- a/config/rules.mk +++ b/config/rules.mk @@ -23,8 +23,14 @@ depend: depend.mk: @echo Building dependency file depend.mk @for srcfile in `find . -name "*.c" -or -name "*.cc" -or -name "*.cxx" -or -name "*.cpp" -or -name "*.inc" -or -name "*.hpp"` verylongdummyname ; do \ - if [ -f $$srcfile ] ; then \ - ${CC} -MM ${INCFLAGS} $$srcfile >> depend.mk ; \ + if [ -f "$${srcfile}" ] ; then \ + basename="$${srcfile%.*}" ; \ + basename="$${basename#./}" ; \ + objfile="$${basename}.o" ; \ + depfile="$${basename}.mk" ; \ + ${CC} -MM -MT "${BUILDDIR}$${objfile}" -MF "$${depfile}" ${CPPFLAGS} ${INCFLAGS} "$${srcfile}" > /dev/null; \ + cat "$${depfile}" >> depend.mk ; \ + rm -f "$${depfile}" ; \ else \ touch depend.mk; \ fi \