CC = gcc
CFLAGS = -g -Wall

all: do_fread do_fwrite do_reverse1 do_reverse2

# The variable $@ has the value of the target. In this case $@ = do_fread
do_fread: do_fread.o
	${CC} ${CFLAGS} -o $@ do_fread.o  

do_fwrite: do_fwrite.o
	${CC} ${CFLAGS} -o $@ do_fwrite.o 

do_reverse1: do_reverse1.o reverse.o
	${CC} ${CFLAGS} -o $@ do_reverse1.o reverse.o

do_reverse2: do_reverse2.o reverse.o
	${CC} ${CFLAGS} -o $@ do_reverse2.o reverse.o

%.o: %.c
	${CC} ${CFLAGS}  -c $<

clean:
	rm *.o do_fread do_fwrite do_reverse1 do_reverse2
