diff --git a/makefile b/makefile index 45aeaa1d1ae966ab22ed5af77171fa9c7a5b3771..3a1166c44d73e6bcb60cc7a40de83eccb2121fbf 100644 --- a/makefile +++ b/makefile @@ -1,16 +1,20 @@ -CC=gcc -CFLAGS=-c -Wall `sdl-config --cflags` -LDFLAGS=`sdl-config --libs` -lSDL_gfx -lSDL_ttf -lSDL_image -lm -SOURCES=main.c init.c colors.c label.c button.c menu.c field.c table.c input.c game.c highscore.c -OBJECTS=$(SOURCES:.c=.o) -EXECUTABLE=minesweeper2d +BINARY = MineSweeper2D +OBJECTS = main.o button.o colors.o field.o game.o highscore.o init.o input.o label.o menu.o table.o +HEADERS = button.h colors.h enums.h field.h game.h highscore.h init.h input.h label.h menu.h table.h -all: $(SOURCES) $(EXECUTABLE) - -$(EXECUTABLE): $(OBJECTS) - $(CC) $(LDFLAGS) $(OBJECTS) -o $@ +CC = gcc +CFLAGS = -O2 `sdl-config --cflags` +LDFLAGS = -lm `sdl-config --libs` -lSDL_ttf -lSDL_gfx -lSDL_image + +.PHONY: all clean + +all: $(BINARY) -.c.o: - $(CC) $(CFLAGS) $< -o $@ clean: - rm -Rf *.o $(EXECUTABLE) @ \ No newline at end of file + rm -f $(BINARY) $(OBJECTS) + +$(BINARY): $(OBJECTS) + $(CC) $(LDFLAGS) $^ -o $@ + +%.o: %.c $(HEADERS) + $(CC) $(CFLAGS) -c $< -o $@ \ No newline at end of file