--- Makefile.orig 2026-03-23 19:41:10 UTC +++ Makefile @@ -141,6 +141,11 @@ else EXTENSION_LIB = so override LDFLAGS += -Wl,-rpath,${TOP_DIR}/${LIB_DIR} endif + ifeq (${UNAME_S}, FreeBSD) + MAKE_OS = FreeBSD + EXTENSION_LIB = so + override LDFLAGS += -Wl,-rpath,${TOP_DIR}/${LIB_DIR} + endif ifeq (${UNAME_S}, Darwin) MAKE_OS = macOS EXTENSION_LIB = dylib @@ -238,15 +243,15 @@ ${TOP_DIR}/${BIN_DIR}/custom_operator_fortran.o: examp ${MPICXX} $^ -o $@ ${LIBS} ${TOP_DIR}/${BIN_DIR}/custom_operator_fortran.o: examples/custom_operator.f90 - ${MPIF90} -c interface/HPDDM.f90 -o ${TOP_DIR}/${BIN_DIR}/HPDDM.o ${F90MOD} ${TOP_DIR}/${BIN_DIR} - ${MPIF90} -I${TOP_DIR}/${BIN_DIR} -c $< -o $@ ${F90MOD} ${TOP_DIR}/${BIN_DIR} + ${MPIF90} ${FFLAGS} -c interface/HPDDM.f90 -o ${TOP_DIR}/${BIN_DIR}/HPDDM.o ${F90MOD} ${TOP_DIR}/${BIN_DIR} + ${MPIF90} ${FFLAGS} -I${TOP_DIR}/${BIN_DIR} -c $< -o $@ ${F90MOD} ${TOP_DIR}/${BIN_DIR} ${TOP_DIR}/${BIN_DIR}/custom_operator_c.o: examples/custom_operator.c ${MPICC} ${INCS} -c $< -o $@ ${TOP_DIR}/${BIN_DIR}/custom_operator_%: ${TOP_DIR}/${BIN_DIR}/custom_operator_%.o ${TOP_DIR}/${LIB_DIR}/libhpddm_%.${EXTENSION_LIB} @if test $(findstring fortran,$@); then \ - CMD="${MPIF90} -I${TOP_DIR}/${BIN_DIR} -o $@ ${F90MOD} ${TOP_DIR}/${BIN_DIR} $@.o ${TOP_DIR}/${BIN_DIR}/HPDDM.o ${LDFLAGS} -L${TOP_DIR}/${LIB_DIR} -lhpddm_fortran ${LIBS}"; \ + CMD="${MPIF90} ${FFLAGS} -I${TOP_DIR}/${BIN_DIR} -o $@ ${F90MOD} ${TOP_DIR}/${BIN_DIR} $@.o ${TOP_DIR}/${BIN_DIR}/HPDDM.o ${LDFLAGS} -L${TOP_DIR}/${LIB_DIR} -lhpddm_fortran ${LIBS}"; \ else \ CMD="${MPICC} -o $@ $@.o ${LDFLAGS} -L${TOP_DIR}/${LIB_DIR} -lhpddm_c ${LIBS}"; \ fi; \ @@ -266,11 +271,11 @@ ${TOP_DIR}/${LIB_DIR}/lib%.${EXTENSION_LIB}: interface ${TOP_DIR}/${LIB_DIR}/lib%.${EXTENSION_LIB}: interface/%.cpp ${TOP_DIR}/${TRASH_DIR}/lib%.d ${TOP_DIR}/${TRASH_DIR}/compiler_flags_cpp @if [ "$<" = "interface/hpddm_python.cpp" ]; then \ - echo ${MPICXX} ${DEPFLAGS} ${CXXFLAGS} ${HPDDMFLAGS} ${INCS} ${PYTHON_INCS} -shared $< -o $@ ${LIBS} ${PYTHON_LIBS}; \ - ${MPICXX} ${DEPFLAGS} ${CXXFLAGS} ${HPDDMFLAGS} ${INCS} ${PYTHON_INCS} -shared $< -o $@ ${LIBS} ${PYTHON_LIBS}; \ + echo ${MPICXX} ${DEPFLAGS} ${CXXFLAGS} ${HPDDMFLAGS} ${INCS} ${PYTHON_INCS} -shared $< -o $@ -Wl,-soname,$@ ${LIBS} ${PYTHON_LIBS}; \ + ${MPICXX} ${DEPFLAGS} ${CXXFLAGS} ${HPDDMFLAGS} ${INCS} ${PYTHON_INCS} -shared $< -o $@ -Wl,-soname,$@ ${LIBS} ${PYTHON_LIBS}; \ else \ - echo ${MPICXX} ${DEPFLAGS} ${CXXFLAGS} ${HPDDMFLAGS} ${INCS} -shared $< -o $@ ${LIBS}; \ - ${MPICXX} ${DEPFLAGS} ${CXXFLAGS} ${HPDDMFLAGS} ${INCS} -shared $< -o $@ ${LIBS}; \ + echo ${MPICXX} ${DEPFLAGS} ${CXXFLAGS} ${HPDDMFLAGS} ${INCS} -shared $< -o $@ -Wl,-soname,$@ ${LIBS}; \ + ${MPICXX} ${DEPFLAGS} ${CXXFLAGS} ${HPDDMFLAGS} ${INCS} -shared $< -o $@ -Wl,-soname,$@ ${LIBS}; \ fi ${POSTCOMPILE}