GPSSHOGI_HOME = ../..
-include makefile.local
include $(GPSSHOGI_HOME)/makefile.conf

#

ifdef PROFILE
PROF = -pg -g
LDFLAGS += $(PROF)
endif


## #gcc
OTHERFLAGS = -pipe $(CPUOPTION)
ifdef DEBUG
CXXOPTFLAGS = -O
OTHERFLAGS += -g -DDEBUG 
else
CXXOPTFLAGS = $(RELEASE_CXX_OPTFLAGS)
WARNING_FLAGS += $(WARN_INLINE)
ifdef RELEASE
OTHERFLAGS +=  -DNDEBUG
endif
ifndef PROF
CXXOPTFLAGS += -fomit-frame-pointer
endif
endif

ifeq ($(USE_TOKYO_CABINET),1)
LOADLIBES += -ltokyocabinet $(OSL_HOME)/lib/third_party/$(PROTOBUF)/src/.libs/libprotobuf.a
endif
ifeq ($(MINIMAL_GPSSHELL),)
  ifeq ($(ENABLE_REDIS),)
  else
    LOADLIBES += $(GPSSHOGI_LIB_DIR)/redis/libgpsshogiredis.a -lhiredis -lglog
    OTHERFLAGS += -DENABLE_REDIS=t
    INCLUDES += $(GPSSHOGI_HOME)/include
  endif
else
  OTHERFLAGS += -DMINIMAL_GPSSHELL=t
endif
LOADLIBES += -lboost_thread$(BOOST_POSTFIX_MT) -lboost_program_options$(BOOST_POSTFIX_MT) \
	     -lPocoNet -lPocoFoundation -lreadline -lgsl -lgslcblas -lpthread 
INCLUDES += -I. -I/usr/include/gsl

CXXFLAGS = $(PROF) $(OTHERFLAGS) $(CXXOPTFLAGS) $(WARNING_FLAGS) $(INCLUDES)

SRCS = gpsshell.cc board.cc book.cc commands.cc httpclient.cc ignorelist.cc
OBJS = $(patsubst %.cc,%.o,$(SRCS))
PROGRAMS = gpsshell httpclient-sample

all: $(PROGRAMS)

gpsshell: $(OBJS)
ifeq ($(USE_TOKYO_CABINET),1)
gpsshell: $(GPSSHOGI_HOME)/lib/recorddb/libgpsshogirecorddb.a $(GPSSHOGI_HOME)/lib/dbm/libgpsshogidbm.a
endif
httpclient-sample : httpclient-sample.o httpclient.o

CC = $(CXX)

gpsshell : $(FILE_OSL_ALL)

clean:
	-rm *.o $(PROGRAMS)
	-rm -rf .deps

light-clean:
	-rm -rf .deps .objs .gch 

-include $(patsubst %.cc,.deps/%.cc.d,$(SRCS))
