CC = gcc CFLAGS = -g HEADERS = $(wildcard *.h) LIBS = -lm -lreadline ALLSOURCES = $(wildcard *.c) GAMESOURCES = $(subst editor.c,,$(ALLSOURCES)) OBJECTS = $(patsubst %.c,%.o,$(GAMESOURCES)) all: game editor clean: rm -f *.o game editor game: $(OBJECTS) $(CC) $(CFLAGS) -o $@ $(OBJECTS) $(LIBS) editor: editor.c $(HEADERS) $(CC) $(CFLAGS) -o $@ $< $(LIBS) %.o: %.c $(HEADERS) $(CC) $(CFLAGS) -c $< -o $@ .PHONY: clean all