EXEC_FILE=main TARGETS=$(EXEC_FILE).o message.o user.o message_helpers.o file_helpers.o all: $(EXEC_FILE) $(EXEC_FILE): $(TARGETS) gcc -o $(EXEC_FILE) $^ -leasysock $(EXEC_FILE).o: $(EXEC_FILE).c message.o: message.c user.o: user.c message_helpers.o: message_helpers.c file_helpers.o: file_helpers.c $(TARGETS): gcc -c -o $@ $^ .PHONY: clean clean: rm $(TARGETS) rm $(EXEC_FILE)