CC = g++
CFLAGS = -Wall

all: inherit construction_order protected_1 protected_2 \
    friend abstract constructors

inherit: inherit.o
	$(CC) -o $@ $(CFLAGS) inherit.o

construction_order: construction_order.o
	$(CC) -o $@ $(CFLAGS) construction_order.o

protected_1: protected_1.o
	$(CC) -o $@ $(CFLAGS) protected_1.o

protected_2: protected_2.o
	$(CC) -o $@ $(CFLAGS) protected_2.o

abstract: abstract.o
	$(CC) -o $@ $(CFLAGS) abstract.o

friend: friend.o
	$(CC) -o $@ $(CFLAGS) friend.o

constructors: constructors.o
	$(CC) -o $@ $(CFLAGS) constructors.o


.cpp.o:
	$(CC) -c $< $(CFLAGS)

clean:
	rm -f *.o
	rm -f `find . -perm /111 -type f`

