CC ?= gcc
TARGET := arielo_calculator_32
SRC := arielo_calculator.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 check-32 check-sdl clean run install uninstall

all: check-32 check-sdl $(TARGET)

check-32:
	@bits=$$(getconf LONG_BIT 2>/dev/null || echo desconocido); \
	if [ "$$bits" != "32" ]; then \
		echo "ERROR: este Makefile nativo requiere un Ubuntu de 32 bits."; \
		echo "Arquitectura actual: $$(uname -m), $$bits bits"; \
		echo "En un Ubuntu de 64 bits usa: ./build_i386_on_64bit.sh"; \
		exit 1; \
	fi

check-sdl:
	@command -v sdl2-config >/dev/null 2>&1 || { \
		echo "ERROR: falta libsdl2-dev"; \
		echo "Instala 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.sh

uninstall:
	rm -f "$(HOME)/.local/bin/arielo-calculator"
	rm -f "$(HOME)/.local/share/applications/arielo-calculator.desktop"
	rm -f "$(HOME)/Escritorio/arielo-calculator.desktop"
	rm -f "$(HOME)/Desktop/arielo-calculator.desktop"
	@echo "Arielo Calculator desinstalada del usuario actual."

clean:
	rm -f $(TARGET)
