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

include $(ROOTDIR)/src/makefile.inc

COMMON_DIR = ./Common

INCLUDES = \
  -I $(COMMON_DIR) \
  -I . \
  -I ../../../Include/ \
  -I ../../../../../include/ \
  -I ../../../../../include/Martini
	 

OBJS = $(OBJDIR)/LibraryLoader.o $(OBJDIR)/ThreadSync.o	$(OBJDIR)/OSAA.o \
	$(OBJDIR)/DirectoryHandle.o $(OBJDIR)/ReadOnlyFileMapping.o $(OBJDIR)/ThreadLocalStorage.o  



OSALIB = libMartiniOSA.so

.PHONY: Directories

all: release

release: Directories $(OUTDIR)/$(OSALIB)

OBJDIR=AIX

Directories: $(OBJDIR) $(OUTDIR)

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

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

clean:
	rm -rf $(OBJS) $(OUTDIR)/$(OSALIB)


$(OBJDIR)/LibraryLoader.o: $(COMMON_DIR)/LibraryLoader.cpp $(COMMON_DIR)/OSAA.h 
	$(CPP_COMPILE) 

$(OBJDIR)/ThreadSync.o: $(COMMON_DIR)/ThreadSync.cpp $(COMMON_DIR)/OSAA.h
	$(CPP_COMPILE)

$(OBJDIR)/OSAA.o: $(COMMON_DIR)/OSAA.cpp $(COMMON_DIR)/OSAA.h
	$(CPP_COMPILE)  
       
$(OBJDIR)/ThreadLocalStorage.o: $(COMMON_DIR)/ThreadLocalStorage.cpp $(COMMON_DIR)/OSAA.h
	$(CPP_COMPILE)
 
$(OBJDIR)/DirectoryHandle.o: $(COMMON_DIR)/DirectoryHandle.cpp $(COMMON_DIR)/OSAA.h
	$(CPP_COMPILE)

$(OBJDIR)/ReadOnlyFileMapping.o: $(COMMON_DIR)/ReadOnlyFileMapping.cpp $(COMMON_DIR)/OSAA.h
	$(CPP_COMPILE)

VER_FILE = OSA.ver

$(OUTDIR)/$(OSALIB): $(OBJS)
	$(CPP_LINK) $(OBJS) -o $@ -ldl -lpthread $(STD_LIBS) $(VER_SCR)


