CC = gcc CFLAGS = -Wall -g COMPILE = $(CC) $(CFLAGS) -c SRCS := $(wildcard *.c) ../common/restart.c OBJS := $(patsubst %.c,%.o,$(SRCS)) INCLUDES = -I. -I../common # make an executable for each of the test programs and for that in part 10 as well FORK_OBJS = fork.c CHAIN_OBJS = chaincritical.c ../common/restart.c EXECUTABLES = fork.out c.out all: $(EXECUTABLES) c.out: $(CHAIN_OBJS) $(CC) $(CFLAGS) -o $@ $(INCLUDES) $(CHAIN_OBJS) fork.out: $(FORK_OBJS) $(CC) $(CFLAGS) -o $@ $(FORK_OBJS) %.o: %.c $(COMPILE) -o $@ $< clean: -rm $(OBJS) $(EXECUTABLES) explain: @echo "The following information represents all the programs for assignment one:" @echo "programs: $(EXECUTABLES)" @echo "Object files: $(SERVER_OBJS)"