У меня есть код C++, который может быть скомпилирован с поддержкой MPI в зависимости от определенного флага препроцессора; пропуская соответствующий флаг, источники компилируют в непараллельную версию.
Я хотел бы установить Makefile.am так, чтобы он скомпилировал и MPI-параллель и последовательную версию, если опция к ./configure
дан.
Вот выгода: MPI имеет свою собственную обертку компилятора C++ и настаивает, что источники компилируются и связали использование его, а не стандартный компилятор C++. Если бы я должен был записать Make-файл сам, то я должен был бы сделать что-то вроде этого:
myprog.seq: myprog.cxx
$(CXX) ... myprog.cxx
myprog.mpi: myprog.cxx
$(MPICXX) -DWITH_MPI ... myprog.cxx
Существует ли способ сказать, автоделают это, он должен использовать $ (MPICXX) вместо $ (CXX) при компиляции MPI-поддерживающей версии программы?