OBJS = Circuit.o Connection.o Input.o Main.o Output.o Piece.o Placer.o Printer.o Reader.o Rule.o Node.o
CC = g++
DEBUG = -g
CFLAGS = -Wall -c $(DEBUG)
LFLAGS = -Wall $(DEBUG)

Main: $(OBJS)
	$(CC) $(LFLAGS) $(OBJS) -o betopox

Main.o: Reader.h Circuit.h Piece.h Placer.h Printer.h
	$(CC) $(CFLAGS) Main.cpp

Reader.o: Reader.h Circuit.h Input.h Output.h Rule.h
	$(CC) $(CFLAGS) Reader.cpp

Circuit.o: Circuit.h Input.h Output.h Rule.h Piece.h Node.h
	$(CC) $(CFLAGS) Circuit.cpp

Piece.o: Piece.h Rule.h
	$(CC) $(CFLAGS) Piece.cpp

Placer.o: Placer.h Circuit.h Rule.h Piece.h Connection.h
	$(CC) $(CFLAGS) Placer.cpp

Printer.o: Printer.h Circuit.h
	$(CC) $(CFLAGS) Printer.cpp

Input.o: Input.h
	$(CC) $(CFLAGS) Input.cpp

Output.o: Output.h
	$(CC) $(CFLAGS) Output.cpp

Rule.o: Rule.h Circuit.h
	$(CC) $(CFLAGS) Rule.cpp

Node.o: Node.h
	$(CC) $(CFLAGS) Node.cpp

Connection.o: Connection.h
	$(CC) $(CFLAGS) Connection.cpp

clean:
	\rm *.o *~ betopox

