.POSIX: CC = gcc AR = ar ARFLAGS = rcs CFLAGS = -std=c99 -Wall -Wextra -Werror -Wpedantic -Wconversion -Wuninitialized -Wunused -Wshadow -Wstrict-prototypes -Wpointer-arith -Wformat=2 -fanalyzer -Wstrict-aliasing=3 -Wlogical-op -Wduplicated-cond LDFLAGS = LDLIBS = PREFIX = /usr/local DESTDIR = MODULE_DIR = source_code/MODULE_marigold_dynamic_array INTERNAL_DIR = $(MODULE_DIR)/internal TEST_DIR = $(MODULE_DIR)/tests BUILD_DIR = build_output OBJ_DIR = intermediate_code .PHONY: all clean install test example lib all: example test lib clean: rm -f $(OBJ_DIR)/*.o $(BUILD_DIR)/libmarigold_dynamic_array.a $(BUILD_DIR)/example $(BUILD_DIR)/test lib: $(BUILD_DIR)/libmarigold_dynamic_array.a example: $(BUILD_DIR)/example test: $(BUILD_DIR)/test $(BUILD_DIR)/libmarigold_dynamic_array.a: $(OBJ_DIR)/marigold_dynamic_array.o $(OBJ_DIR)/internal_marigold_dynamic_array.o $(AR) $(ARFLAGS) $@ $(OBJ_DIR)/marigold_dynamic_array.o $(OBJ_DIR)/internal_marigold_dynamic_array.o $(BUILD_DIR)/example: $(OBJ_DIR)/main.o $(OBJ_DIR)/marigold_dynamic_array.o $(OBJ_DIR)/internal_marigold_dynamic_array.o $(CC) $(LDFLAGS) -o $@ $(OBJ_DIR)/main.o $(OBJ_DIR)/marigold_dynamic_array.o $(OBJ_DIR)/internal_marigold_dynamic_array.o $(BUILD_DIR)/test: $(OBJ_DIR)/test_main.o $(OBJ_DIR)/marigold_dynamic_array.o $(OBJ_DIR)/internal_marigold_dynamic_array.o $(OBJ_DIR)/test_marigold_dynamic_array.o $(CC) $(LDFLAGS) -o $@ $(OBJ_DIR)/test_main.o $(OBJ_DIR)/marigold_dynamic_array.o $(OBJ_DIR)/internal_marigold_dynamic_array.o $(OBJ_DIR)/test_marigold_dynamic_array.o $(OBJ_DIR)/main.o: source_code/main.c $(MODULE_DIR)/marigold_dynamic_array.h $(CC) $(CFLAGS) -c source_code/main.c -o $@ $(OBJ_DIR)/marigold_dynamic_array.o: $(MODULE_DIR)/marigold_dynamic_array.c $(MODULE_DIR)/marigold_dynamic_array.h $(INTERNAL_DIR)/internal_marigold_dynamic_array.h $(CC) $(CFLAGS) -c $(MODULE_DIR)/marigold_dynamic_array.c -o $@ $(OBJ_DIR)/internal_marigold_dynamic_array.o: $(INTERNAL_DIR)/internal_marigold_dynamic_array.c $(INTERNAL_DIR)/internal_marigold_dynamic_array.h $(CC) $(CFLAGS) -c $(INTERNAL_DIR)/internal_marigold_dynamic_array.c -o $@ $(OBJ_DIR)/test_main.o: source_code/test_main.c $(MODULE_DIR)/marigold_dynamic_array.h $(TEST_DIR)/test_marigold_dynamic_array.h $(CC) $(CFLAGS) -c source_code/test_main.c -o $@ $(OBJ_DIR)/test_marigold_dynamic_array.o: $(TEST_DIR)/test_marigold_dynamic_array.c $(TEST_DIR)/test_marigold_dynamic_array.h $(MODULE_DIR)/marigold_dynamic_array.h $(CC) $(CFLAGS) -c $(TEST_DIR)/test_marigold_dynamic_array.c -o $@