ROOTDIR = ../../../..

include $(ROOTDIR)/src/makefile.inc
INCLUDES = -I../Include \
	-I../../Include \
	-I../../../../include/Martini \
	-I$(JAVA_HOME)/include \
	-I$(JAVA_HOME)/include/lin32 \
	 -I$(ROOTDIR)/src/Lin/unix

ifdef SOLARIS
	INCLUDES += -I$(JAVA_HOME)/include/solaris
endif

ifdef AIX
	INCLUDES += -I $JAVA_HOME/include/aix
endif

OBJS = $(OBJDIR)/HeapAdaptor.o \
	$(OBJDIR)/IdAllocator.o \
	$(OBJDIR)/InstrumentationAdaptorBase.o \
	$(OBJDIR)/WideStringUtils.o \

ifdef LINUX
	LD_RPATH =  -Wl,-rpath,\$$ORIGIN 
else
ifdef SOLARIS
	LD_RPATH = -R \$$ORIGIN
else
ifdef SOLARISX86
	LD_RPATH = -R \$$ORIGIN
endif
endif
endif
	

LIB = libHeapAdaptor.so

VER_FILE = HeapAdaptor.ver

all: release

release: $(OBJDIR) $(OUTDIR)/$(LIB)

$(OBJDIR): 
	mkdir -p $(OBJDIR) ; mkdir -p $(OUTDIR)

clean: 
	rm -rf $(OBJS) $(OUTDIR)/$(LIB)
	rm -f libHeapAdaptor.x

include ./Makefile.dep

$(OUTDIR)/$(LIB): $(OBJS)
ifdef AIX
	$(CPP_LINK) $(OBJS) -o $@ -L../../../../bin/linux/$(PLATFORM_AND_MODE_NAME) \
	-L$(OUTDIR)/libMartiniOSA.so -lMartiniOSA \
	$(OUTDIR)/LibraryLoader.a -lpthread -ldl $(STD_LIBS) $(VER_SCR)
else
ifdef MVS
	$(CPP_LINK) $(OBJS) -o $@ -L../../../../bin/linux/release/$(PLATFORM_AND_MODE_NAME) -L$(OUTDIR) ../OSA/zOS/libMartiniOSA.x \
	$(OUTDIR)/LibraryLoader.a $(STD_LIBS) $(VER_SCR)
else
	$(CPP_LINK) $(LD_RPATH) $(OBJS) -o $@ -L../../../../bin/linux/release/IA-32 -L$(OUTDIR) -lMartiniOSA \
	 $(OUTDIR)/LibraryLoader.a -lpthread -ldl $(STD_LIBS) $(VER_SCR)
endif
endif

