#
# Default configuration is optimized unless CFG is set to debug
#
ifeq "$(CFG)" "debug"
   DEFINES := -D_DEBUG
   CXXOPTS := -g
else
   CFG := optimized
   DEFINES := -DNDEBUG
   CXXOPTS := -O2
endif

#
# export LD_LIBRARY_PATH in order to find symbols from linked in -lxsiftk
#
export CROSSWALKSDK_ROOT := $(TOPDIR)/Dev/XSISDK


OBJDIR   := obj/$(CFG)
SOURCES  := main.cpp
OBJECTS  := $(patsubst %.cpp,$(OBJDIR)/%.o,$(SOURCES))
INCLUDES := -I$(CROSSWALKSDK_ROOT)/include/Core/ -I$(CROSSWALKSDK_ROOT)/include/FTK/ 
DEFINES  := $(DEFINES) -DXSI_STATIC_LINK -D__XSI_APPLICATION_ -D_GNU
DEPLIBS  := -lXSIFtk
SYSLIBS  := 
EXAMPLE  := ./Application/Plugin/SLTest
CXXFLAGS  = $(CXXOPTS)
LDFLAGS   = $(LDOPTS)

# 
# Build all targets
#
all: $(EXAMPLE)

#
# Clean it and build it
#
rebuild: clean
	$(MAKE)

$(EXAMPLE): $(OBJECTS)
	-@if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi
	$(CXX) $(LDFLAGS) -o $@ $^ -L$(CROSSWALKSDK_ROOT)/lib/ $(DEPLIBS) $(SYSLIBS)

$(OBJDIR)/%.o: %.cpp
	-@if [ ! -d "$(dir $@)" ]; then mkdir -p "$(dir $@)"; fi
	$(CXX) -c -o $@ $(CXXFLAGS) $(DEFINES) $(INCLUDES) $<
    
#
# Clean it
#
clean:
	-/bin/rm -rf $(OBJDIR) $(EXAMPLE)

.PHONY: clean all rebuild
