CC=g++
CFLAGS=-pipe -s -O2 -fPIC -fpack-struct
LFLAGS=-shared -Wl
INCLUDE=
LIBS=-lpthread
AR=ar cqs
RANLIB=ranlib
RM=rm -f
CP=cp -f

FILES=../Samples.cpp
OBJS=$(addsuffix .o, $(basename $(FILES)))
OUT=libJNIWrapperSampleDLL.so
OUT.a=$(basename $(OUT)).a
INSTALL_PATH=../../bin

all: $(OUT)

install: $(OUT)
	$(CP) $(OUT) $(INSTALL_PATH)

$(OUT): $(OBJS)
	$(CC) $(LFLAGS) $(LIBS) $(OBJS) -o $(OUT)
	$(AR) $(OUT.a) $(OBJS)
	$(RANLIB) $(OUT.a)

$(OBJS): %.o: %.cpp
	$(CC) -c $(CFLAGS) $(INCLUDE) $< -o $@

clean:
	$(RM) $(OUT) $(OUT.a)
	$(RM) $(OBJS)
