##
#	$Id: Makefile 77 2009-03-25 17:38:16Z yatsuhashi $
#
CC	= g++
CFLAGS	= -O2 -Wall -Werror -g -I$(CURDIR)
AR	= ar
ARFLAGS	= r
LD	= g++
LDFLAGS	= 
RM	= rm -rf
MKDIR	= mkdir -p
TOUCH	= touch
DOXYGEN	= doxygen
SWIG	= swig
RUBY	= ruby

SRCDIR	= libmahjong
OBJDIR	= obj
DOCDIR	= doc

OBJS	= $(patsubst $(SRCDIR)/%.cpp, $(OBJDIR)/%.o, \
		$(wildcard $(SRCDIR)/*.cpp))

TARGET	= libmahjong.a

.PHONY: clean test doc ruby ruby/clean

all:  $(TARGET)

$(TARGET): $(OBJDIR) $(OBJS)
	$(RM) $@
	$(AR) $(ARFLAGS) $@ $(OBJS)

$(OBJDIR):
	$(MKDIR) $@

doc:
	$(DOXYGEN)

clean:
	$(RM) $(OBJDIR)
	$(RM) $(DOCDIR)

test: $(TARGET)
	$(MAKE) -C test
	test/test

$(OBJDIR)/%.o: $(SRCDIR)/%.cpp
	$(CC) $(CFLAGS) -c -MMD -o $@ $<

-include $(patsubst %.o, %.d, $(OBJS))

##
#	Ruby用拡張ライブラリ
#
ruby: ruby/mahjong.cpp
	cd ruby; $(RUBY) extconf.rb
	$(MAKE) -C ruby

ruby/clean:
	$(MAKE) -C ruby clean
	$(RM) ruby/mahjong.cpp ruby/Makefile

%.cpp: %.i
	$(SWIG) -ruby -c++ -o $@ $<
