
# First to include the conf info depending on the compilers we need etc
# i.e. all options starting with IC_

include ../conf/system/makeopts-SNIPE_LITE

# For any arch type options
# i.e. anything else like, IMA_ARCH, system call flags etc

include ../conf/system/makeopts-$(HARNESS_ARCH)

#
# The rest should now be a little puddie kat.
#

# Final build options conf file.
# Yep, how many do we need :)

include ../conf/makeopts-HARNESS


COMPILE_OPT = $(INTER_OPTS) $(BUILD_OPTS) $(MPI_OPTS)

###########################################################################

# Now for the compilation directories

include ../conf/system/makeopts-dirs

###########################################################################

########################
# Flag for shared object
########################

#ifeq ($(HARNESS_ARCH),AIX46K)
#MYCC=xlc
#LD_FLAGS=-G -bexpall -bM:SRE -bnoentry -brtl -bE:test.exp
#else
#MYCC=$(CC)
#LD_FLAGS=$(SOFLAG)
#endif

#MYCC=gcc
#LD_FLAGS=-shared

########################

#LIBS = 
LIBS = $(PLIB) $(SL_LIBS)

OBJS = $(objdir)/dlo3.o $(objdir)/plist.o $(objdir)/envs.o \
		$(objdir)/names.o \
		$(objdir)/id.o $(objdir)/http.o \
		$(shareobjdir)/msg.o $(shareobjdir)/msgbuf.o \
		$(shareobjdir)/mkpaths.o 

HLIBOBJS = $(objdir)/hlib.o \
		   $(objdir)/envs.o \
		   $(objdir)/id.o \
		   $(shareobjdir)/msg.o $(shareobjdir)/msgbuf.o \
		   $(shareobjdir)/snipe_lite.o \
		   $(svcobjdir)/ns_lib.o 

SOPT = 
#SOPT = -DNODELAYALLOWED

COREOPT = -DDONOTENABLE

# Directory used to test gload calls
LSDIR = $(libdir)/system

###########################################################################

#default:	$(bindir)/g_hcore_d tdlo testcount
default:	$(dirs) $(bindir)/g_hcore_d $(libdir)/hlib.a test.so

core:	$(dirs) $(bindir)/g_hcore_d

###########################################################################

$(objdir) : 
	mkdir $(objdir)

$(bindir) : 
	mkdir $(bindir)

$(libdir) : 
	mkdir $(libdir)

##############################################################################


$(LSDIR)	:
	mkdir $(LSDIR)

test.so	: test.c $(LSDIR)
	$(CC) -c test.c $(STDINC)
	$(MYCC) $(LD_FLAGS) -o test test.o $(shareobjdir)/snipe_lite.o $(objdir)/envs.o
	mv test $(libdir)/system/test.so 

##############################################################################

$(objdir)/dlo3.o		: dlo3.c dlo3.h finit.h
	$(CC)  $(SOFLAG) $(STDINC) dlo3.c -c
	mv dlo3.o $(objdir)

$(objdir)/plist.o		: plist.c plist.h finit.h
	$(CC) $(SOFLAG) $(STDINC) plist.c -c
	mv plist.o $(objdir)

$(objdir)/envs.o		: envs.c envs.h finit.h internal_state_sys.h
	$(CC) $(SOFLAG) $(STDINC) envs.c -c $(SL_FLAGS)
	mv envs.o $(objdir)

$(objdir)/names.o		: names.c names.h finit.h internal_state.h
	$(CC)  $(SOFLAG) $(STDINC) names.c -c
	mv names.o $(objdir)

$(objdir)/id.o		: id.c id.h 
	$(CC)  $(SOFLAG) $(STDINC) id.c -c
	mv id.o $(objdir)

$(objdir)/http.o		: http.c http.h 
	$(CC) $(SOFLAG) $(STDINC) http.c -c
	mv http.o $(objdir)


##############################################################################

$(objdir)/hlib.o		: hlib.c $(incdir)/hlib.h names.h
	$(CC) $(SOFLAG) $(STDINC) hlib.c -c  -O
	mv hlib.o $(objdir)

$(libdir)/hlib.a	: $(HLIBOBJS)
	rm -f $(libdir)/hlib.a
	ar crv $(libdir)/hlib.a $(HLIBOBJS)


##############################################################################

#testcount		: testcount.c 
#	$(CC) testcount.c -o testcount ./snipe_lite.o $(LIBS) $(SOPT)
#

$(bindir)/g_hcore_d	:	g_hcore_d.c g_hcore_d_int.h $(OBJS)
	$(CC) $(STDINC) g_hcore_d.c -o $(bindir)/g_hcore_d $(OBJS) $(LIBS) $(DL_LIBS) \
					$(svcobjdir)/ns_lib.o \
					$(shareobjdir)/snipe_lite.o \
					$(COREOPT) $(SL_FLAGS) $(EXTRA_FLAGS)

clean :
	rm -f $(objdir)/*.o *.o $(bindir)/g_hcore_d tdo *.so

realclean	:
	rm -f */*.o *.o *.so */*.so
