D_ROOT          := ../..
EXECUTE_DIR     := $(D_ROOT)/Execute
LIB_DIR         := $(D_ROOT)/lib
LIB_NAME	:= DAQBuilder
LIB_FILE	:= lib$(LIB_NAME).a
LIB_FLAGS       := -L$(LIB_DIR) -l$(LIB_NAME)
ifdef D_USE_ROOT
INC_FLAGS	+= `root-config --cflags` 
LIB_FLAGS       += `root-config --libs` 
endif
ifdef D_USE_GTK
INC_FLAGS	+= `gtk-config --cflags` 
LIB_FLAGS       += `gtk-config --libs` 
endif
ifdef D_USE_JNI
INC_FLAGS	+= -I$(JAVA)/include
INC_FLAGS	+= -I$(JAVA)/include/linux
endif
X_ROOT          := /usr/X11R6/
INC_FLAGS	:= -I$(D_ROOT)
INC_FLAGS	+= -I$(X_ROOT)/include
LIB_FLAGS       += -L$(X_ROOT)/lib -lcurses -lpthread -lreadline -lX11 -lXm -lXpm
LINK		:= g++ -g -O3 -fPIC #-Wall -ansi -pedantic
ERR_FILE	:= err.log
OBJ             := DAQBuilderInputStream.o DAQBuilderFile.o DAQBuilderFileInputStream.o DAQBuilderOutputStream.o DAQBuilderFileOutputStream.o DAQBuilderFilterInputStream.o DAQBuilderFilterOutputStream.o DAQBuilderPrimitiveDataInputStream.o DAQBuilderPrimitiveDataOutputStream.o DAQBuilderByteArrayInputStream.o DAQBuilderByteArrayOutputStream.o DAQBuilderDeflaterOutputStream.o DAQBuilderGZipOutputStream.o DAQBuilderInflaterInputStream.o DAQBuilderGZipInputStream.o DAQBuilderBufferedOutputStream.o DAQBuilderBufferedInputStream.o DAQBuilderInputStreamToOutputStream.o DAQBuilderSocketInputStream.o DAQBuilderSocketOutputStream.o DAQBuilderObjectOutputStream.o DAQBuilderObjectInputStream.o DAQBuilderCheckedOutputStream.o DAQBuilderCheckedInputStream.o DAQBuilderPrintStream.o DAQBuilderStandardOutput.o DAQBuilderStandardError.o DAQBuilderScanStream.o DAQBuilderStandardInput.o DAQBuilderCommandOutputStream.o DAQBuilderAbstructFile.o

all    : compile check

compile: $(OBJ)

check: 
	@if [ ! -f $(ERR_FILE) ]; then touch $(ERR_FILE) ; fi 
	@echo `wc -l $(ERR_FILE)| sed s/$(ERR_FILE)//` error occured

%.o:%.cc
	@echo 
	@echo 
	@echo "NEXT"
	@echo 
	@echo "Compiling $@ using include $(INC_FLAGS) "
	@$(LINK) -o $@ -c $< $(INC_FLAGS) $(LINK_FLAGS) 2>>$(ERR_FILE)
	@clear
	@echo $< `wc -l $(ERR_FILE)| sed s/$(ERR_FILE)//` error occured
	@echo "Collecting $@ to the Archive $(LIB_DIR)/lib$(LIB_NAME).a "
	@ar r $(LIB_DIR)/lib$(LIB_NAME).a $@
clean:
	@echo "Cleaning ....."
	@rm -rf *~ *.o a.out core $(OBJ) 
	@ar -dv $(LIB_DIR)/$(LIB_FILE) $(OBJ)
