ROOTDIR = ../..

include $(ROOTDIR)/src/makefile.inc

INCLUDES = -I../../include/JPIAgent -I../../src/Martini/Include \
	-I../../include/Martini -I$(JAVA_HOME)/include

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

ifdef SOLARISX86
	INCLUDES +=  -I$(JAVA_HOME)/include/solaris
	SOLARIS_JPI_MAKE=1
endif

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

ifdef LINUX
	INCLUDES += -I $(JAVA_HOME)/include/linux
endif

OBJS = $(OBJDIR)/ECWrapper.o \
	$(OBJDIR)/ECCallbacks.o \
	$(OBJDIR)/Filters.o \
	$(OBJDIR)/Options.o \
	$(OBJDIR)/Performance.o \
	$(OBJDIR)/Print.o \
	$(OBJDIR)/Profiler.o \
	$(OBJDIR)/PrintXML.o \
	$(OBJDIR)/PrintBinary.o \
	$(OBJDIR)/PrintWrapper.o \
	$(OBJDIR)/binformat.o \
	$(OBJDIR)/utility.o \
	$(OBJDIR)/ECJvmtiAgent.o

LIB = libJPIAgent.so

VER_FILE = JPIAgent.ver

EXTRA_CXX_FLAGS = -D_LINUX_X86

EXTRA_INCLUDES = 

all: release

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

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

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

include ./Makefile.dep

$(OUTDIR)/$(LIB): $(OBJS)
ifdef AIX
	$(CPP_LINK) $(OBJS) -o $@ -L../../bin/linux/$(PLATFORM_AND_MODE_NAME) \
	-L$(OUTDIR) -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) ../Martini/Infrastructure/OSA/zOS/libMartiniOSA.x \
	$(OUTDIR)/LibraryLoader.a \
	$(STD_LIBS) $(VER_SCR)
else
ifdef SOLARIS_JPI_MAKE
	$(CPP_LINK) $(OBJS) -o $@ -L../../bin/linux/release/IA-32 -L$(OUTDIR) -lMartiniOSA \
	$(OUTDIR)/LibraryLoader.a \
	-lpthread -luuid -ldl $(STD_LIBS) $(VER_SCR)
else
	$(CPP_LINK) $(OBJS) -o $@ -L../../bin/linux/release/IA-32 -L$(OUTDIR) -lMartiniOSA \
	$(OUTDIR)/LibraryLoader.a \
	-lpthread -ldl $(STD_LIBS) $(VER_SCR)
endif
endif
endif

