makefile编译问题

时间:2015-09-16 10:30:15

标签: c++ makefile

我的makefile有些麻烦 当我尝试make时,我收到错误:

no rule to make the target main.o

但是我无法看到我的错误,事实上它是我几年前制作的模板Makefile,它是一个cpp项目。

(我还有另一个错误:/usr/bin/ld: can't find Sources/: file format not know,我认为我的通配符出了问题)

NAME = Pretorian

SRCDIR = ./Sources/
HDDIR = ./Include/

SRCS = $(SRCDIR)$(wildcard *.cpp)
OBJ = $(SRCS:.cpp=.o)

CC = g++

RM = rm -f
ECHO = echo -e

CFLAGS += -W -Wall -Werror -ansi -pedantic
HFLAGS = -I$(HDDIR)
LDFLAGS =

%.o: %.cpp
        $(CC) -o $@ -c $< $(CFLAGS)

$(NAME): $(OBJ)
        @$(CC) $(CFLAGS) $(HFLAGS) -o $(NAME) $^ $(LDFLAGS)
        @$(ECHO) '\033[0;32m> Compiled Without error\033[0m'

all: 
        $(NAME)

clean:
        $(RM) $(OBJ)
        @$(ECHO) '\033[0;33m> Directory cleaned\033[0m'

fclean: clean
        $(RM) $(NAME)
        @$(ECHO) '\033[0;33m> Remove executable\033[0m'

re: fclean all

1 个答案:

答案 0 :(得分:1)

这似乎对我有用:

SRCS = $(wildcard $(SRCDIR)*.cpp)