
CCC=g++

OPTIM=-O2
#OPTIM=-g

OPTIONFLAGS = -Wno-format-zero-length -Wno-deprecated-declarations -Wno-write-strings -Wno-ignored-qualifiers -Wno-unused-result

LIBDIR=..
BINDIR=..

PCDHOME=/opt/EDTpdv

INCLUDEFLAGS = -I. -I.. 

CFLAGS += $(OPTIM) -fPIC $(INCLUDEFLAGS) $(OPTIONFLAGS)
CXXFLAGS += $(OPTIM) $(INCLUDEFLAGS) $(OPTIONFLAGS)
LDFLAGS += -L. -L.. -ledt -lpthread -lm -Wl,-rpath -Wl,$(PDVHOME)

DISPATCHLIB_STATIC=libdispatch.a
DISPATCHLIB=libdispatch.so

BASE_DISPATCHLIBOBJS = \
EdtDataValue.o \
ErrorHandler.o \
ParmObject.o \
SocketConnection.o \
StringUtils.o 

DISPATCHLIBOBJS = $(BASE_DISPATCHLIBOBJS)

all : $(DISPATCHLIB) 

$(DISPATCHLIBOBJS) : $(DISPATCHHEADERS)

$(DISPATCHLIB) : $(DISPATCHLIBOBJS)
	@echo $(CCC) -o $(DISPATCHLIB) -shared $(DISPATCHLIBOBJS) $(LOGOUT)
	@$(CCC) -o $(DISPATCHLIB) -shared $(DISPATCHLIBOBJS) $(LOGOUT)
	@$(SHOWOUT)
	mv $(DISPATCHLIB) $(LIBDIR)

$(DISPATCHLIB_STATIC) : $(DISPATCHLIBOBJS)
	$(AR) -ur $(DISPATCHLIB) $(DISPATCHLIBOBJS) 
	mv $(DISPATCHLIB_STATIC) $(LIBDIR)

%.o:  %.cpp
	$(CCC) -c $(CFLAGS) -o $@ $<

libs:   
	cd ../edtimage; make

fullclean: clean
	-rm -f $(patsubst %,../%,$(TARGS)) 

appclean:
	-rm -f $(TARGS)

clean: appclean
	-rm -f *.o *.a 

uninstall: fullclean

list:
	@echo $(TARGS)

