как скомпилировать MPI, и non-MPI версия той же программы с автоделают?

У меня есть код 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-поддерживающей версии программы?

11
задан Riccardo Murri 19 October 2010 в 13:10
поделиться