CC = gcc CFLAGS = -Wall -Werror TARG = main SRCS = main-foo.c foo.c OBJS = $(SRCS:.c=.o) $(TARG): $(OBJS) $(CC) -o $(TARG) $(OBJS) main-foo.o: main-foo.c $(CC) -c main-foo.c $(CFLAGS) foo.o: foo.c $(CC) -c foo.c $(CFLAGS) clean: rm -f $(TARG) $(OBJS)