# an example with pattern rules
CC=gcc
CFLAGS=-g 

a.out: myprog1.o myprog2.o myprog3.o 
	$(CC) $(CFLAGS) myprog1.o myprog2.o myprog3.o -o $@
%.o:  %.c
	$(CC) -c $(CFLAGS) $< -o $@

myprog1.o: myprog1.c myprog.h
	gcc -c myprog1.c
	echo "I am target rule"
clean:
	rm -f a.out
	rm -f *.o
	rm -f *~
	rm -f core
demo: a.out
	a.out
	
