OBJECTS = main.o io.o data.o HEADERS = data.h io.h PROG = project1 CC = gcc CFLAGS = -g -Wall all: $(PROG) $(PROG): $(OBJECTS) $(CC) $(CFLAGS) -o $(PROG) $(OBJECTS) main.o: $(HEADERS) data.o: data.h io.o: io.h # phony target: removes generated files, doesn't create a file called "clean" clean: rm -f $(OBJECTS) $(PROG)