#external dependencies
BOOST_DIR  = /Users/Shared/Projects/boost_1_48_0
CC         = clang++
LD         = clang++
OBJDIR     = build
CFLAGS     = -Wall -Werror -std=c++0x -c -I. -I./Shared -I$(BOOST_DIR)

SOURCES    = $(wildcard *.cpp) $(wildcard */*.cpp)
OBJECTS   := $(addprefix $(OBJDIR)/,$(patsubst %.cpp,%.o,$(SOURCES)))
BIN        = test

all: $(OBJECTS)
	$(LD) $(OBJECTS) -o $(BIN)

$(OBJDIR)/%.o : %.cpp | $(OBJDIR)
	@mkdir -p $(dir $@)
	$(CC) $(CFLAGS) -c $< -o $@

$(OBJDIR):
	@mkdir -p $(OBJDIR)

clean:
	rm -rf build
