2014-09-22 2 views
0

У меня есть следующий Makefile. Всякий раз, когда я запускаю make, я получаю следующую ошибку.Makefile: файл объекта не найден

ifort: error #10236: File not found: 'mkl_matrix_multiply.o'

Я пытался выяснить это на некоторое время теперь не повезло.

C = icc 
FC = ifort 
LD = ifort 

OPT = -Ofast -vec_report6 -simd -xhost -debug -traceback -ftrapuv 
OP = -Ofast -vec_report6 -simd -xhost 

LINK = -L$(MKLROOT)/lib/intel64 $(MKLROOT)/lib/intel64/libmkl_blas95_ilp64.a -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -lpthread -lm 

INCLUDE = -openmp -i8 -I$(MKLROOT)/include/intel64/ilp64 -I$(MKLROOT)/include 

mkl_matrix_multiply.exe: mkl_matrix_multiply.o timing.o 
       $(LD) -o mkl_matrix_multiply.exe mkl_matrix_multiply.o timing.o 

mkl_matrix_multiply.o: mkl_matrix_multiply.f90 
       $(FC) $(INCLUDE) $(LINK) mkl_matrix_multiply.f90 

timing.o: timing.c 
       $(CC) $(OP) -c timing.c 

dummy.o: dummy.c 
       $(CC) $(OP) -c dummy.c 

clean: 
       rm -f *.o matrix_multiply.exe 

Любая помощь была бы принята с благодарностью.

+0

Вы проверили, что отступы всегда один символ табуляции? И можете ли вы ссылаться на исходный файл? Потому что похоже, что может быть некоторая ошибка синтаксического анализа. – l0b0

ответ

1

Кажется, что вам не хватает -c в mkl_matrix_multiply.o rule.

Измените Makefile как

C = icc 
FC = ifort 
LD = ifort 

OPT = -Ofast -vec_report6 -simd -xhost -debug -traceback -ftrapuv 
OP = -Ofast -vec_report6 -simd -xhost 

LINK = -L$(MKLROOT)/lib/intel64 $(MKLROOT)/lib/intel64/libmkl_blas95_ilp64.a -lmkl_intel_ilp64 -lmkl_intel_thread -lmkl_core -lpthread -lm 

INCLUDE = -openmp -i8 -I$(MKLROOT)/include/intel64/ilp64 -I$(MKLROOT)/include 

mkl_matrix_multiply.exe: mkl_matrix_multiply.o timing.o 
       $(LD) -o mkl_matrix_multiply.exe mkl_matrix_multiply.o timing.o 

mkl_matrix_multiply.o: mkl_matrix_multiply.f90 
       $(FC) -c $(INCLUDE) $(LINK) mkl_matrix_multiply.f90 

timing.o: timing.c 
       $(CC) $(OP) -c timing.c 

dummy.o: dummy.c 
       $(CC) $(OP) -c dummy.c 

clean: 
       rm -f *.o matrix_multiply.exe 
Смежные вопросы