OBJS = Aviary.class Bird.class WalkingBird.class FlyingBird.class \
	Ostrich.class Goose.class \
	Owl.class ScreechOwl.class SnowOwl.class \
	Parrot.class TalkingParrot.class
.SUFFIXES: .java .class
CC = javac
CFLAGS = -deprecation 

all: $(OBJS)

# Basic dependency
.java.class: 
	$(CC) $(CFLAGS) $<

# Other dependencies
TalkingParrot.class: Parrot.class
Parrot.class: FlyingBird.class

SnowOwl.class: Owl.class
ScreechOwl.class: Owl.class
Owl.class: FlyingBird.class

Ostrich.class: WalkingBird.class
Goose.class: WalkingBird.class
WalkingBird.class: Bird.class
FlyingBird.class: Bird.class
Aviary.class: Bird.class WalkingBird.class FlyingBird.class \
	Ostrich.class Goose.class \
	Owl.class ScreechOwl.class SnowOwl.class \
	Parrot.class TalkingParrot.class

clean:
	rm -f *.class *~ *#


