Работа с Makefile
У меня есть несколько файлов, которые находятся в разных директориях
back/Makefile
back/core/main.c
back/core/src/.c*
Makefile:
TARGET = Server
CC = gcc
PREF_ = ./core/src/
SRC = $(wildcard core/src/*.c)
OBJ = $(SRC:.c=.o)
$(TARGET) : $(OBJ)
$(CC) core/main.o $(OBJ) -o $(TARGET)
main.o : core/main.c
$(CC) -c core/main.c -o main.o
%.o : $(PREF_)%.c core/main.c
$(CC) -c $< -o $@
clean :
rm $(TARGET) *.o
Так как, main.c не находится в той же директории, что и остальные единицы трансляции, то он не будет собираться с этим кодом, я добавил его как отдельную задачу, но при сборке будто просто пропускается, если его собрать отдельно, а потом запустить Makefile, тогда все работает хорошо. Но как мне сделать, чтобы main.c тоже собирался через Makefile
Источник: Stack Overflow на русском