Multi-File Project Architecture & Makefiles
Splitting software into modular headers (.h) and source files (.c)
Makefile
CC = gcc CFLAGS = -Wall -Wextra -Werror -O2 -std=c17 -g OBJS = main.o math_utils.o network.o myapp: $(OBJS) $(CC) $(CFLAGS) -o myapp $(OBJS) %.o: %.c $(CC) $(CFLAGS) -c $< -o $@ clean: rm -f $(OBJS) myapp