EXEC_FILE=main TARGETS=$(EXEC_FILE).o message.o user.o message_helpers.o file_helpers.o stack.o CFLAGS= all: $(EXEC_FILE) $(EXEC_FILE): $(TARGETS) gcc $(CFLAGS) -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 stack.o: stack.c $(TARGETS): gcc $(CFLAGS) -c -o $@ $^ .PHONY: debug debug: CFLAGS+=-g debug: $(EXEC_FILE) .PHONY: allwarn allwarn: CFLAGS+=-Wall -Wextra -pedantic allwarn: $(EXEC_FILE) .PHONY: clean clean: rm $(TARGETS) rm $(EXEC_FILE)