
CCC=g++

DEBFLAGS=-O2 -g -Wno-format-zero-length -Wno-deprecated-declarations -Wno-write-strings -Wno-ignored-qualifiers -Wno-unused-result
#DEBFLAGS=-DDEBUG_CALLS -O2 -g

LIBDIR=..
BINDIR=..

PDVHOME=/opt/EDTpdv

INCLUDEFLAGS = -I. -I.. 

OPTIONFLAGS += -DEDT_CAMLINK_EXPORTS

CFLAGS += -fPIC $(OPTIONFLAGS) $(DEBFLAGS) $(INCLUDEFLAGS)
CXXFLAGS += $(OPTIONFLAGS) $(DEBFLAGS) $(INCLUDEFLAGS) 
LDFLAGS += -L. -lpthread -shared

LIBCLSEREDT_STATIC=libclseredt.a
LIBCLSEREDT=libclseredt.so

LIBCLSEREDTOBJS = edt_camlink.o 
LIBCLSEREDTHEADERS = edt_camlink.h 

LIBPDVOBJS = \
     libpdv.o \
     libedt.o \
     pdv_irig.o \
     pdv_dmy_image.o \
     pdv_bayer_filter.o \
     pdv_interlace.o \
     libedt_timing.o \
     libdvu.o \
     pciload_fn.o \
     edt_error.o \
     edt_os_lnx.o \
     edt_flash.o

all : $(LIBCLSEREDT)  clser_example

$(LIBCLSEREDTOBJS) : $(LIBCLSEREDTHEADERS)

$(LIBCLSEREDT) : $(LIBCLSEREDTOBJS) $(LIBPDVOBJS)
	$(CCC) -o $(LIBCLSEREDT) $(LDFLAGS) $(LIBCLSEREDTOBJS) $(LIBPDVOBJS) $(LOGOUT)
	@$(SHOWOUT)
	mv $(LIBCLSEREDT) $(LIBDIR)

$(LIBCLSEREDT_STATIC) : $(LIBCLSEREDTOBJS)
	$(AR) -ur $(LIBCLSEREDT) $(LIBCLSEREDTOBJS) 
	mv $(LIBCLSEREDT_STATIC) $(LIBDIR)

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

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

appclean:
	-rm -f $(TARGS)

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

uninstall: fullclean

list:
	@echo $(TARGS)


clser_example: clser_example.o edt_camlink.h
	$(CCC) clser_example.cpp -o clser_example  -L. -L.. -lclseredt

ALL_CFLAGS += $(DEBFLAGS) $(DO_MLOCK) $(BUILDOPTIONS)
ALL_CFLAGS += -I.. -D_REENTRANT -fPIC
ALL_CFLAGS += $(CFLAGS)

%.o : ../%.c
	@echo $(CC) $(ALL_CFLAGS) -c $< $(LOGOUT)
	@$(CC) $(ALL_CFLAGS) -c $< $(LOGOUT)
	@$(SHOWOUT)
