У меня есть проект, для которого требуются два отдельных исполняемых файла, каждый из которых имеет «основную» функцию. Они совместно используют заголовочный файл и еще один файл с определениями функций. Makefile, который я использую, выдает ошибку "множественное определение `main'". Я хочу скомпилировать оба исполняемых файла в папку «./bld». Может ли кто-нибудь дать мне несколько советов о том, что я делаю неправильно? Спасибо.
CC := gcc
CFLAGS := -g -Wall -Werror
RM := rm
MKDIR := mkdir -p
OUT_DIR := bld
OBJ_DIR := $(OUT_DIR)/obj
SOURCES := $(wildcard *.c)
OBJECTS := $(addprefix $(OBJ_DIR)/, $(SOURCES:.c=.o))
TARGET := $(addprefix $(OUT_DIR)/, $(SOURCES:.c=))
.PHONY: all clean
all: $(TARGET)
clean:
$(RM) -rf $(OUT_DIR)
$(TARGET): $(OBJECTS)
$(CC) $(CFLAGS) $^ -o $@
$(OBJ_DIR)/%.o: %.c
@$(MKDIR) $(dir $@)
$(CC) $(CFLAGS) -c $< -o $@
*.c
- person bruceg   schedule 09.02.2019