# Compile with debug option and all warnings on. ------------
CXXFLAGS = -g -Wall -O1

# Object modules comprising this application ----------------
OBJ = MiniDuckSimulator.o

# Build targets
TARGETS = MiniDuckSimulator

.PHONY: all clean
all: $(TARGETS)

MiniDuckSimulator: $(OBJ)
	$(CXX)  -o $@ $(OBJ) $(LIBS)

# Delete .o and exe files and force recompilation. ----------
clean:
	rm -f $(OBJ) $(TARGETS)

# Dependencies ----------------------------------------------
MiniDuckSimulator.o: MiniDuckSimulator.cpp MiniDuckSimulator.hpp \
 FlyBehavior.hpp FlyNoWay.hpp FlyWithWings.hpp FlyRocketPowered.hpp \
 QuackBehavior.hpp Quack.hpp FakeQuack.hpp MuteQuack.hpp Squeak.hpp \
 Duck.hpp DecoyDuck.hpp MallardDuck.hpp ModelDuck.hpp RedHeadDuck.hpp \
 RubberDuck.hpp