CFLAGS=-Wall -Wextra --pedantic -g -I/usr/X11R6/include `pkg-config --cflags cairo`
LDFLAGS=-Wall  -Wextra --pedantic -g `pkg-config --libs cairo` -L/usr/X11R6/lib -lX11


all: 2cario

2cario: main.o cairo_window.o factory.o shape_quad.o xlib_cairo_window.o png_cairo_window.o shape_rect.o
	g++ -o 2cario ${LDFLAGS} main.o factory.o cairo_window.o shape_quad.o xlib_cairo_window.o png_cairo_window.o shape_rect.o
main.o: main.cpp window.h factory.h
	g++ -o main.o ${CFLAGS} -c main.cpp
cairo_window.o: cairo_window.cpp cairo_window.h window.h
	g++ -o cairo_window.o ${CFLAGS} -c cairo_window.cpp
png_cairo_window.o: png_cairo_window.cpp cairo_window.h window.h png_cairo_window.h
	g++ -o png_cairo_window.o ${CFLAGS} -c png_cairo_window.cpp
xlib_cairo_window.o: xlib_cairo_window.cpp xlib_cairo_window.h cairo_window.h window.h
	g++ -o xlib_cairo_window.o ${CFLAGS} -c xlib_cairo_window.cpp
factory.o : factory.cpp xlib_cairo_window.h cairo_window.h window.h shape.h shape_quad.h
	g++ -o factory.o ${CFLAGS} -c factory.cpp
shape_quad.o : shape_quad.cpp  window.h shape.h shape_quad.h 
	g++ -o shape_quad.o ${CFLAGS} -c shape_quad.cpp
shape_rect.o : shape_rect.cpp  window.h shape.h shape_rect.h 
	g++ -o shape_rect.o ${CFLAGS} -c shape_rect.cpp
