2014-02-09 2 views
0

У меня возникает странная ошибка при создании этого проекта. Он собирает все успешно, но в конце концов, сделать мне говорит:Получение «Нет правила для создания цели» при успешной сборке

make: *** No rule to make target `cc', needed by `game'. Stop. 

Вот Makefile:

TARGET = game 
SDL_INC_DIR = /usr/include/SDL 
SDL_LIB_DIR = /usr/lib/SDL 

CFLAGS = -D __SDL__ -O2 -g -Wall -I$(SDL_INC_DIR) 
LDFLAGS = -L$(SDL_LIB_DIR) -lSDL 

OBJECTS = game/ai/boost.o \ 
     game/ai/bullet.o \ 
     game/ai/death.o \ 
     game/ai/explode.o \ 
     game/ai/pickup.o \ 
     game/ai/quad.o \ 
     game/ai/sheba.o \ 
     game/ai/static_model.o \ 
     game/ai/static_sprite.o \ 
     game/ai/teleporter.o \ 
     game/ai/torch.o \ 
     game/data.o \ 
     game/entities.o \ 
     game/game.o \ 
     game/maps.o \ 
     game/models.o \ 
     game/screens.o \ 
     game/sprites.o \ 
     platform/main.o 

$(TARGET): $(OBJECTS) $(CC) $(CFLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS) 

clean: 
    rm -f *.o game/*.o game/ai/*.o 

ответ

3

Вам нужно положить $(CC), а остальные на следующей строке, после закладки:

$(TARGET): $(OBJECTS) 
     $(CC) $(CFLAGS) $(LDFLAGS) -o $(TARGET) $(OBJECTS) 

Он смог успешно скомпилировать цель, используя правило по умолчанию.

0

$ (CC) не определен. Добавить $ (CC) = gcc также поместить его на новую строку, иначе он примет их как зависимости

+0

-1: Никогда не используйте жестко заданные значения для CC. Рекомендовать это безрассудно. –

+0

Отредактировано. Согласовано. Это был мой первый пост в стеке, и я испортил: P – user3287648

Смежные вопросы