CC := gcc CFLAGS := -O2 -std=gnu17 -Wall -Wall -Wno-unused-result TARGET := router TEST := test DEPS := config.h ODIR := obj _OBJ := router.o utils.o linked_list.o network_addr.o dist_vector.o OBJ := $(patsubst %,$(ODIR)/%,$(_OBJ)) _TEST_OBJ := test.o linked_list.o TEST_OBJ := $(patsubst %,$(ODIR)/%,$(_TEST_OBJ)) all: $(TARGET) test: $(TEST) $(ODIR)/%.o: %.c $(DEPS) $(CC) $(CFLAGS) -c -o $@ $< $(TARGET): $(OBJ) $(CC) -o $@ $^ $(CFLAGS) $(TEST): $(TEST_OBJ) $(CC) -o $@ $^ $(CFLAGS) clean: rm -rf $(TARGET) rm -rf test distclean: rm -rf $(TARGET) rm -rf test rm -rf $(ODIR)/*.o