ROOTDIR = ../..

include $(ROOTDIR)/src/makefile.inc

INCLUDES = -I../../include/JPIAgent \
	-I../../include/Martini \
	-I../../src/Martini/Include \
	-I../../src/BaseProf


OBJS = 	$(OBJDIR)/BaseProfiler.o \
	$(OBJDIR)/AttachEvent.o \
	$(OBJDIR)/DetachEvent.o \
	$(OBJDIR)/StartEvent.o \
	$(OBJDIR)/StopEvent.o \
	$(OBJDIR)/VMInitEvent.o \
	$(OBJDIR)/VMShutdownEvent.o \
	$(OBJDIR)/ProfEnv.o \
	$(OBJDIR)/TIdSet.o \
	$(OBJDIR)/Tickets.o \
	$(OBJDIR)/NewMethodEvent.o \
	$(OBJDIR)/ThreadProfiler.o \
	$(OBJDIR)/ThreadEndEvent.o \
	$(OBJDIR)/ThreadStartEvent.o \
	$(OBJDIR)/MonitorWaitEvent.o \
	$(OBJDIR)/MonitorWaitedEvent.o \
	$(OBJDIR)/ContendedMonitorEnterEvent.o \
	$(OBJDIR)/ContendedMonitorEnteredEvent.o \
	$(OBJDIR)/ThreadInteractionEvent.o \
	$(OBJDIR)/CustomCommandEvent.o

LIB = libThreadProf.so

VER_FILE = ThreadProf.ver

EXTRA_INCLUDES =

all: release

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

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

clean: 
	rm -rf $(OBJS) $(OUTDIR)/$(LIB)
	rm -f libThreadProf.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
	$(CPP_LINK) $(OBJS) -o $@ -L../../bin/linux/release/IA-32 -L$(OUTDIR) -lMartiniOSA \
	$(OUTDIR)/LibraryLoader.a \
         -lpthread -ldl $(STD_LIBS) $(VER_SCR)
endif
endif

