CC = gcc CFLAGS = -Wall -Wextra -O2 -g -std=c11 -fwrapv -pthread LDFLAGS = -pthread TARGETS = server client seqnum_server SOURCES = $(filter-out $(patsubst %,%.c,$(TARGETS)),$(wildcard *.c)) OBJECTS = $(patsubst %.c,%.o,$(SOURCES)) .PHONY: all clean all: $(TARGETS) @$(MAKE) -C url_handler all clean: rm -f $(TARGETS) *.o @$(MAKE) -C url_handler clean $(TARGETS): %: %.o $(OBJECTS) $(CC) $^ -o $@ $(LDFLAGS) %.o: %.c $(wildcard *.h) $(CC) $(CFLAGS) -c -o $@ $<