targets = father son all: $(targets) father: father.o $(CC) -o $@ $^ $(CFLAGS) son: son.o $(CC) -o $@ $^ $(CFLAGS) %.o: %.c $(CC) -c $^ -o $@ $(CFLAGS) clean: rm -f $(targets) rm -f *.o rm -f task_dump* rm -f task*