Так что я могу скомпилировать мой код (fftw_ex.c) непосредственно с:Makefile for fftw3?
login$ gcc -o -g fftw_ex fftw_ex.c -I$TACC_FFTW3_INC -L$TACC_FFTW3_LIB -lfftw3
Однако, мой профессор предпочитает, что мы используем Makefile. Я просто изучаю, как использовать Makefile и делать, и у меня возникли проблемы с созданием Makefile. До сих пор, это то, что у меня есть:
# RULES
EXEC := fftw_ex
SRC := $(wildcard *.c)
OBJ := $(patsubst %.c,%.o,%(SRC))
# OPERATIONS
CC := gcc
CFLAGS := -O3 -I$TACC_FFTW3_INC
LDFLAGS := -L$TACC_FFTW3_LIB
LDLIBS := -lfftw3
$(EXEC): $(OBJ)
$(CC) $(LDFLAGS) $(LDLIBS) -o -g [email protected] $^
%.o: %.c
$(CC) $(CFLAGS) -c $<
# PHONY TARGETS
.PHONY: clean
clean:
@echo Cleaning...;rm -rf *.o fftw_ex
Я знаю, что есть проблемы с линией SRC, так как я получаю сообщение об ошибке:
make: *** No rule to make target `%(SRC)', needed by `fftw_ex'. Stop.
Любая помощь, чтобы получить эту работу будет быть оцененным.
Спасибо, он в основном исправлен. Хотя теперь я получаю сообщение об ошибке, что -lfftw3 не может быть найден. Но он скомпилировался перед сразу просто отлично. –