# Переменные CC = gcc CFLAGS = -Wall -g `pkg-config --cflags gtk+-3.0` LDFLAGS = -lwiringPi -lcurl `pkg-config --libs gtk+-3.0` TARGET = program BACKEND_PATH = backend/ UI_PATH = ui/ CONTROLLERS_PATH = controllers/ SRCS = \ main.c \ $(BACKEND_PATH)Src/stend_logic.c \ $(BACKEND_PATH)Src/utils.c \ $(BACKEND_PATH)Libs/sx1278/Src/sx1278.c \ $(BACKEND_PATH)Libs/Godex500/Src/Godex500.c \ $(BACKEND_PATH)Libs/CURL/Src/curl2.c \ $(BACKEND_PATH)Libs/cJSON/Src/cJSON.c \ $(BACKEND_PATH)Libs/Logger/Src/logger.c \ $(UI_PATH)Src/MainForm.c\ $(UI_PATH)Src/ui.c\ $(UI_PATH)Src/button_handlers.c\ $(UI_PATH)Src/button_styles.c\ $(UI_PATH)Src/error.c\ $(CONTROLLERS_PATH)Src/ui_controller.c\ $(CONTROLLERS_PATH)Src/stend_controller.c OBJS = $(SRCS:.c=.o) # Цель по умолчанию all: $(TARGET) clean launch # Правило для создания исполняемого файла $(TARGET): $(OBJS) $(CC) $(CFLAGS) -o $(TARGET) $(OBJS) $(LDFLAGS) # Правило для компиляции .c файлов в .o файлы %.o: %.c $(CC) $(CFLAGS) -c $< -o $@ # Чистка проекта от скомпилированных файлов clean: rm -f $(OBJS) launch: ./$(TARGET)