# Univerzálny Makefile pre ncurses projekt # Autor: Mišo Chlebovec # Verzia: 1.1 # Kompilátor CC = gcc # Základné flags CFLAGS = -Wall -std=c99 -g -D_GNU_SOURCE # Hľadanie ncurses NCURSES_CFLAGS = $(shell pkg-config --cflags ncurses 2>/dev/null || \ echo "-I/usr/include -I/usr/include/ncurses -I/usr/local/include -I/usr/local/include/ncurses") NCURSES_LIBS = $(shell pkg-config --libs ncurses 2>/dev/null || echo "-lncurses") # Finalne flags CFLAGS += $(NCURSES_CFLAGS) LDFLAGS = $(NCURSES_LIBS) # Súbory SRCS = main.c game.c world.c OBJS = $(SRCS:.c=.o) TARGET = game # Pravidlá all: $(TARGET) $(TARGET): $(OBJS) $(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) -o $(TARGET) %.o: %.c $(CC) $(CFLAGS) -c $< -o $@ clean: rm -f $(OBJS) $(TARGET) distclean: clean rm -f *~ .*swp # Pomocné pravidlá .PHONY: all clean distclean # Automatická detekcia závislostí DEPDIR := .deps DEPFLAGS = -MT $@ -MMD -MP -MF $(DEPDIR)/$*.d COMPILE.c = $(CC) $(DEPFLAGS) $(CFLAGS) -c %.o : %.c $(DEPDIR)/%.d | $(DEPDIR) $(COMPILE.c) $< -o $@ $(DEPDIR): @mkdir -p $@ DEPFILES := $(SRCS:%.c=$(DEPDIR)/%.d) $(DEPFILES): include $(wildcard $(DEPFILES))