CC ?= gcc
TARGET := calculator_linux
SRC := calculator_linux.c

SDL_CFLAGS := $(shell sdl2-config --cflags 2>/dev/null)
SDL_LIBS := $(shell sdl2-config --libs 2>/dev/null)

CPPFLAGS += $(SDL_CFLAGS)
CFLAGS ?= -O2
CFLAGS += -std=c11 -Wall -Wextra -Wpedantic
LDLIBS += $(SDL_LIBS)

.PHONY: all clean run install uninstall

all: check-sdl $(TARGET)

check-sdl:
	@command -v sdl2-config >/dev/null 2>&1 || { \
		echo "ERROR: falta libsdl2-dev"; \
		echo "Instalar con: sudo apt update && sudo apt install build-essential libsdl2-dev"; \
		exit 1; \
	}

$(TARGET): $(SRC)
	$(CC) $(CPPFLAGS) $(CFLAGS) $< -o $@ $(LDFLAGS) $(LDLIBS)

run: all
	./$(TARGET)

install: all
	install -d "$(HOME)/.local/bin"
	install -m 0755 $(TARGET) "$(HOME)/.local/bin/arielo-calculator"
	install -d "$(HOME)/.local/share/applications"
	printf '%s\n' \
		'[Desktop Entry]' \
		'Type=Application' \
		'Name=Arielo Calculator' \
		'Comment=Calculadora Arielo para Ubuntu' \
		'Exec=$(HOME)/.local/bin/arielo-calculator' \
		'Icon=accessories-calculator' \
		'Terminal=false' \
		'Categories=Utility;Calculator;' \
		> "$(HOME)/.local/share/applications/arielo-calculator.desktop"
	chmod 0644 "$(HOME)/.local/share/applications/arielo-calculator.desktop"
	@echo "Instalada en el menu como: Arielo Calculator"

uninstall:
	rm -f "$(HOME)/.local/bin/arielo-calculator"
	rm -f "$(HOME)/.local/share/applications/arielo-calculator.desktop"

clean:
	rm -f $(TARGET)
