#----------------------------------------------------------------------- ------
# Choose a compiler & its options
#--------------------------------------------------------------------------
CC = gcc
OPTS = -W -O3
#--------------------------------------------------------------------------
# Add the debug flag to compile for use by a debugger
#--------------------------------------------------------------------------
#DEBUG=-g
#--------------------------------------------------------------------------
# Add the names of the directories
#--------------------------------------------------------------------------
SRCDIR= src
OBJDIR= obj
INCDIR= include
BINDIR= bin
#--------------------------------------------------------------------
# Add the rest of the source files. Don't forget to add the '\' character
# to continue the line. You don't need it after the last source file
#--------------------------------------------------------------------
SRCS=$(SRCDIR)/Lab12.c \ Function1.c \ Function2.c \ Function3.c \ Function4.c \ Function5.c
#--------------------------------------------------------------------
# You don't need to edit the next few lines. They define other flags
# used in the compilation of the source code
#--------------------------------------------------------------------
INCLUDE = $(addprefix -I,$(INCDIR))
OBJS=${SRCS:$(SRCDIR)/%.c=$(OBJDIR)/%.o}
CFLAGS = $(OPTS) $(INCLUDE) $(DEBUG)
#--------------------------------------------------------------------
# Add the name of the executable after the $(BINDIR)/
#--------------------------------------------------------------------
TARGET = $(BINDIR)/ Lab12
all: $(TARGET)
$(TARGET): $(OBJS)
${CC} ${CFLAGS} -o [email protected] $(OBJS)
$(OBJS): $(OBJDIR)/%.o : $(SRCDIR)/%.c
$(CC) $(CFLAGS) -c $< -o [email protected]
clean:
rm -f $(OBJS)
cleanall:
rm -f $(OBJS)
rm -f Lab12
#--------------------------------------------------------------------
# Add a target named cleanall that will remove the object files as well
# as the executable
#--------------------------------------------------------------------
У меня есть все мои «заголовочные» файлы в папке include. У меня есть весь исходный код в папке src (Lab12.c, Function1.c, Function2.c ...). Я продолжаю получать эту ошибку, когда я использую команду make.вопросов с Makefile в C
Makefile: 45: мишень Function1.c' doesn't match the target pattern Makefile:45: target
Function2.c 'не совпадает с шаблоном цели Makefile: 45: целевой Function3.c' doesn't match the target pattern Makefile:45: target
Function4.c' не совпадает с шаблоном цели Makefile: 45: мишень `Function5.c» не соответствует шаблону цели НКУ -W -O3 -Iinclude -c -o Function1.c НКУ: ввод данных не файлы делают: *** [Function1.c] Ошибка 1
Я наклоняю достаточно выяснить, почему он ведет себя таким образом. Все эти файлы находятся в папке с кодом src, поэтому почему система не распознает их?
Кажется, что проблема с форматированием в моем сообщении. В исходном файле Makefile. Function4.c и Function5.c. –
В противном случае, чтобы вставить линии вместе, обратная косая черта должна быть последним символом на линии; не должно быть никакого другого символа, даже пробела между обратным слэшем и концом строки. Вы можете поместить различные объекты на одну строку, но тогда вам не нужно разделить их на обратную косую черту. –
Если 'Function1.c' и т. Д. Находятся в' $ (SRCDIR) ', вы должны также добавить каталог к этим файлам. (Или вы не укажете '$ (SRCDIR)' ни с одним из файлов и позже сделаете замену шаблона.) –