# Makefile

TOP_SRCDIR := ..

INTEPRETED_EXPR := 0

include ../mk/gcc.defs.mk

HEADERS := *.h
CPPFILES := playerwrapper.cpp skill.cpp skillfilter.cpp skillwrapper.cpp
OBJS := skill.o skillwrapper.o playerwrapper.o skillfilter.o
INCLUDES := -I. -I../header -I../header/include -I../common
STUBOBJS := $(patsubst %.cpp,%.o,$(wildcard ../skills/stubs*.cpp))
LIB := libskill.a

DEFINES := -D_SKILL_SERVER -g -ggdb -O0
CPPFLAGS := -Wall -Werror

CFLAGS += -fPIC -finput-charset="GBK"

.PHONY: all clean lib dlib

all: lib

lib: $(OBJS) $(STUBOBJS)
	ar crs $(LIB) $(OBJS) $(STUBOBJS)

dlib: $(OBJS) $(OUTEROBJS) $(EXPROBJS)
	rm -f libskill.so
	$(LD) -shared -fPIC $(LDFLAGS) $(OBJS) $(OUTEROBJS) $(STUBOBJS) -o libskill.so

$(OBJS): $(HEADERS)

$(STUBOBJS):
	$(CPP) -c $(DEFINES) $(INCLUDES) $(CPPFLAGS) -w $(patsubst %.o,%.cpp,$@) -o $@

clean:
	rm -f $(OBJS) $(STUBOBJS) $(LIB) libskill.so

include ../mk/gcc.rules.mk
