Makefile:没有规则来制作'所有'所需的目标'xxx'

时间:2017-01-05 09:42:58

标签: c++ makefile gnu-make gnu

我正在尝试将* .o文件移动到单独的文件夹(/ objs)中。但我收到以下错误:

  

“没有规则要制作目标'../objs/main.o','all'需要。停止。”

我如何定义这些规则?我已经在创建Makefile时浪费了很多时间。 我的文件夹结构如下所示:

model_1/
    main.cpp
    Model1.cpp
    Model1.h
    model_1.mk   # Makefile
pub_sub/
    ...
objs/

我的Makefile:

CC=gcc
CXX=g++
RM=rm -f
PROG = myProgram
INCLUDES = -I../pub_sub
CXXFLAGS := -std=c++1y -g -Wall ${INCLUDES}
LDFLAGS = -L/usr/local/lib

SRCS= main.cpp Model1.cpp ../pub_sub/Subscriber.cpp ../pub_sub/Publisher.cpp

OBJS= $(addprefix ../objs/, $(notdir $(subst .cpp,.o,$(SRCS))))

all: $(OBJS)
     $(CXX) $(CXXFLAGS) -o $(PROG) $(OBJS) $(LDFLAGS)

.PHONY:
clean:
    $(RM) $(OBJS)

distclean: clean
    $(RM) $(PROG)

0 个答案:

没有答案