#!Makefile

TOP     = ..
ARCH    = $(shell uname -s)
MKDIR	= mkdir
RM	= rm -f
CXX	= g++
CXXOPTION = -Wimplicit -Wunused-parameter -Wunused-variable

INCLUDE = -I. -I../include

BINDIR	 = $(TOP)/bin/$(ARCH)
LIBDIR	 = $(TOP)/lib/$(ARCH)
OBJDIR   = $(TOP)/obj/$(ARCH)

EXEC = ccs2ecsm
EXESRCS  = $(wildcard *.cc)
EXEOBJS  = $(EXESRCS:%.cc=$(OBJDIR)/%.o)
EXELIBS  = si2dr_liberty

define MKBINDIR
	@if [ ! -d $(BINDIR) ]; then $(MKDIR) -p $(BINDIR); fi
endef

define MKOBJDIR
	@if [ ! -d $(OBJDIR) ]; then $(MKDIR) -p $(OBJDIR); fi
endef

all:$(BINDIR)/$(EXEC)

clean::
	@echo ""
	@echo "--------"
	@echo "Cleaning"
	@echo "--------"
	$(RM) -r $(OBJDIR)
	$(RM) -r $(BINDIR)

$(OBJDIR)/%o: %cc
	@echo ""
	@echo "Compiling $(@F)" | sed s/./-/g
	@echo "Compiling $(@F)"
	@echo "Compiling $(@F)" | sed s/./-/g
	$(MKOBJDIR)
	$(CXX) -c -g  $(CXXOPTION) $(INCLUDE) $< -o $@

$(BINDIR)/$(EXEC) : $(EXEOBJS)
	@echo ""
	@echo "Linking $(@F)" | sed s/./-/g
	@echo "Linking $(@F)"
	@echo "Linking $(@F)" | sed s/./-/g
	$(MKBINDIR)
	$(CXX) -g -o $@ $(EXEOBJS) -L$(LIBDIR) -l$(EXELIBS) -lm
