maturita.c/Makefile
pepaskopec-blip 35695f97d0 Add Windows (MSYS2/MinGW) build support and docs.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-10 08:51:57 +02:00

41 lines
1,020 B
Makefile

CC = gcc
# Make sure pkg-config is found even when make runs with a minimal PATH
# (e.g. launched from an IDE such as CLion on macOS).
PKG_CONFIG ?= $(firstword $(wildcard \
$(addsuffix /pkg-config,$(subst :, ,$(PATH)) /opt/homebrew/bin /usr/local/bin)))
ifeq ($(PKG_CONFIG),)
PKG_CONFIG := pkg-config
endif
# Use $(shell ...) instead of backticks so the flags are expanded by make
# itself; IDEs that import the Makefile via a dry run then see the real
# include paths.
GTK_CFLAGS := $(shell $(PKG_CONFIG) --cflags gtk4)
GTK_LIBS := $(shell $(PKG_CONFIG) --libs gtk4)
CFLAGS = -Wall -Wextra -Wno-deprecated-declarations $(GTK_CFLAGS)
LIBS = $(GTK_LIBS) -lm
# Windows (MSYS2 / MinGW): .exe suffix and no console window for the GUI.
ifeq ($(OS),Windows_NT)
TARGET = maturita.exe
LIBS += -mwindows
else
TARGET = maturita
endif
SRC = maturita.c
all: $(TARGET)
$(TARGET): $(SRC)
$(CC) $(CFLAGS) -o $(TARGET) $(SRC) $(LIBS)
clean:
rm -f $(TARGET) maturita.exe
run: $(TARGET)
./$(TARGET)
.PHONY: all clean run