У нас есть задание из университета, включая кодирование в c и сборку вместе. нам был предоставлен make-файл, который должен иметь значение go для выполнения одного кода задачи. но по какой-то причине я получил ошибку. это полученный нами make-файл (который должен быть завершен для задачи 1, как они говорят)
CC := gcc -m32
CC_FLAGS := -Wall -g
ASM := nasm
ASM_FLAGS := -f elf -g
LINK := ld
SRC_DIR := src
OBJ_DIR := obj
LIST_DIR := list
BIN_DIR := bin
all: task1 # task2
task1: $(OBJ_DIR)/main1.o $(OBJ_DIR)/task1.o
$(CC) -o $(BIN_DIR)/task1.bin $(OBJ_DIR)/main1.o $(OBJ_DIR)/task1.o
# task2:
# add your makefile code here...
# uncomment task2 in section 'all'
# .c/.s compile rules
$(OBJ_DIR)/%.o : $(SRC_DIR)/%.c
$(CC) -c $(CC_FLAGS) $< -o $@
$(OBJ_DIR)/%.o : $(SRC_DIR)/%.s
$(ASM) $(ASM_FLAGS) $< -o $@ -l $(subst .o,.lst,$(subst $(OBJ_DIR),$(LIST_DIR),$@))
clean:
rm $(BIN_DIR)/*.bin $(OBJ_DIR)/*.o $(LIST_DIR)/*.lst
ошибка, которую я получаю:
make: * No rule to make target 'obj/main1.o', needed by 'task1'. Stop.
есть идеи, что не так? пытался уже пару часов. Спасибо!