# makefile to build sample program

include ../../platform.mk
include ../sample.mk

HFILES = $(CSTA_SRCDIR)/CSTA-ROSE-PDU-types.h $(CSTA_SRCDIR)/CSTA-make-call.h \
$(RTSRCDIR)/asn1type.h $(RTSRCDIR)/asn1CppTypes.h $(BERSRCDIR)/asn1BerCppTypes.h

LIBNAMES_1 = $(LIBDIR)/$(BERDLLNAMED) $(LIBDIR)/$(CSTADLLNAME) \
$(LIBDIR)/$(RTDLLNAMED)
MFNAMES_1 = $(LIBDIR)/$(BERDLLNAMED).manifest $(LIBDIR)/$(RTDLLNAMED).manifest
LIBNAMES_2 = $(BERDLLNAMED) $(CSTADLLNAME) $(RTDLLNAMED)
MFNAMES_2 = $(BERDLLNAMED).manifest $(RTDLLNAMED).manifest
LIBS = $(LLCSTAIMP) $(LLBERIMPD) $(LLRTIMPD) $(LLSYS)


all : writer$(EXE) reader$(EXE)

HFILES = $(BERCPPHFILES)

writer$(EXE) : writer$(OBJ) $(LIBNAMES_2) $(MFNAMES_2)
	$(LINK) writer$(OBJ) $(LINKOPT) $(LPATHS) $(LIBS)

reader$(EXE) : reader$(OBJ) $(LIBNAMES_2) $(MFNAMES_2)
	$(LINK) reader$(OBJ) $(LINKOPT) $(LPATHS) $(LIBS)

writer$(OBJ) : writer.cpp $(HFILES)
reader$(OBJ) : reader.cpp $(HFILES)

$(LIBDIR)/$(BERDLLNAMED) :
	$(COPY) ..$(PS)..$(PS)..$(PS)lib$(PS)$(BERDLLNAMED) $(LIBDIR)
   
$(LIBDIR)/$(RTDLLNAMED) :
	$(COPY) ..$(PS)..$(PS)..$(PS)lib$(PS)$(RTDLLNAMED) $(LIBDIR)
   
$(LIBDIR)/$(CSTADLLNAME) :
	cd ../../build_dll
	$(MAKE)
	cd ../sample/makeCall_DLL
   
$(LIBNAMES_2) : $(LIBNAMES_1)
	$(COPY) $(LIBDIR)$(PS)$(BERDLLNAMED) .
	$(COPY) $(LIBDIR)$(PS)$(CSTADLLNAME) .
	$(COPY) $(LIBDIR)$(PS)$(RTDLLNAMED) .

$(LIBDIR)/$(BERDLLNAMED).manifest : 
	if exist ..$(PS)..$(PS)..$(PS)lib$(PS)$(BERDLLNAMED).manifest copy ..$(PS)..$(PS)..$(PS)lib$(PS)$(BERDLLNAMED).manifest $(LIBDIR)
   
$(LIBDIR)/$(RTDLLNAMED).manifest :
	if exist ..$(PS)..$(PS)..$(PS)lib$(PS)$(RTDLLNAMED).manifest copy ..$(PS)..$(PS)..$(PS)lib$(PS)$(RTDLLNAMED).manifest $(LIBDIR)
   
$(MFNAMES_2) : $(MFNAMES_1)
	if exist $(LIBDIR)$(PS)$(BERDLLNAMED).manifest copy $(LIBDIR)$(PS)$(BERDLLNAMED).manifest .
	if not "$(VCINSTALLDIR)" == "" if exist $(BERDLLNAMED).manifest mt -manifest $(BERDLLNAMED).manifest -outputresource:$(BERDLLNAMED);#2
	if exist $(LIBDIR)$(PS)$(RTDLLNAMED).manifest copy $(LIBDIR)$(PS)$(RTDLLNAMED).manifest .
	if not "$(VCINSTALLDIR)" == "" if exist $(RTDLLNAMED).manifest mt -manifest $(RTDLLNAMED).manifest -outputresource:$(RTDLLNAMED);#2

clean :
	$(RM) *$(OBJ)
	$(RM) *.exe
	$(RM) *.pdb
	$(RM) *.map
	$(RM) *.exp
	$(RM) *~
	$(RM) message.dat
	$(RM) messagei.dat
