Я думаю, что большинство людей пишут Makefile
s, которые слишком длинны.
Ваша задача становится намного проще, если вы переименуете свой main.cpp
в Test.cpp
. Тогда вам не нужно определять какие-либо правила в вашем файле Makefile, но вы можете использовать неявные правила.
После переименования, то Makefile
становится очень просто:
CXXFLAGS = -fopenmp
Test: mathobj.o sum.o multiple.o
Это все, что вам нужно!
$ make
g++ -fopenmp -c -o mathobj.o mathobj.cpp
g++ -fopenmp -c -o sum.o sum.cpp
g++ -fopenmp -c -o multiple.o multiple.cpp
g++ -fopenmp Test.cpp mathobj.o sum.o multiple.o -o Test
Но, если вы хотите, вы также можете пропустить промежуточный шаг и собрать все на одном дыхании (опять же, эти 2 строки все, что вам нужно в вашем Makefile
):
CXXFLAGS = -fopenmp
Test: mathobj.cpp sum.cpp multiple.cpp
Это приводит до:
$ make
g++ -fopenmp Test.cpp mathobj.cpp sum.cpp multiple.cpp -o Test
Это неясно. Вы можете поместить это прямо в рецепт make-файла, если хотите. –