TARGET = mainscreen
OUTDIR = ./
TMPDIR = tmp
BUILDDIR = $(TMPDIR)/$(TARGET)
EXECDIR = $(OUTDIR)/
SRCS = $(wildcard *.cpp)
OBJS = $(patsubst %.cpp,$(BUILDDIR)/%.o,$(SRCS))
CXXFLAGS = -std=c++11 -DDEBUG -O0 -g3 -Wall -c
INCDIRS = -I/opt/xorg/include -I/opt/pango/include/pango-1.0 -I/opt/cairo/include/cairo -I/opt/pango/include/pango-1.0 -I/opt/glib/include/glib-2.0 -I/opt/glib/lib/glib-2.0/include
LIBDIRS = -L/opt/xorg/lib -L/opt/cairo/lib -L/opt/pango/lib -L/opt/glib/lib
LIBS = -lxcb -lcairo -lpango-1.0 -lpangocairo-1.0 -lxcb-ewmh -lgobject-2.0
RPATH = -Wl,-rpath=/opt/xorg/lib,-rpath=/opt/cairo/lib,-rpath=/opt/pango/lib,-rpath=/opt/glib/lib
PREFIX = /opt/mainscreen/
RESOURCES = *.png

.PHONY: all clean

all: $(TARGET)

$(OBJS): | $(BUILDDIR) $(EXECDIR)

$(BUILDDIR):
	@mkdir -p $@

$(EXECDIR):
	@mkdir -p $@

$(BUILDDIR)/%.o : %.cpp
	@echo 'Building file: $<'
	$(CXX) $(CXXFLAGS) $(INCDIRS) -c $< -o $@
	@echo 'Finished building target: $@'
	@echo ' '

$(TARGET): $(OBJS)
	@echo 'Building target: $@'
	$(CXX) -o $(EXECDIR)/$(TARGET) $(OBJS) $(LIBDIRS) $(LIBS) $(RPATH) 
	@echo 'Finished building target: $@'
	@echo ' '

clean:
	@rm -rf $(BUILDDIR)
	@rm $(EXECDIR)/$(TARGET)
	@echo 'Finished: $@'

install:
	@mkdir -p $(PREFIX)
	@cp $(TARGET) $(PREFIX)
	@cp $(RESOURCES) $(PREFIX)
	@echo 'Finished: $@'