CC      = gcc
INCS    = -I. -I$(UDF_HOME)/include
LBS     = -L. -L$(UDF_HOME)/lib
CADD    = 
EXT     =
RANLIB  =
CTYPE   =

ifeq "$(CTYPE)" "SHARED"
CFLAGS  = $(INCS) $(LBS) $(CADD) $(CSO)
LIBRARY = libdB.$(SO_EXT)
else
CFLAGS  = $(INCS) $(LBS) $(CADD)
LIBRARY = libdB.a
endif

objects = AddIndexRec.o AppendBlank.o AppendDbf.o \
          CloseDbf.o CloseNdx.o CreateDbf.o CreateNdx.o \
          DateFormat.o DbfHandle.o DbfMsg_1.o DbfMsg_2.o DeleteNdxRec.o \
          DeleteRec.o dbField.o dbFind.o dbSet.o db_Qsort.o \
          FieldGet.o FieldGetN.o FieldNo.o FieldPut.o FieldPutN.o \
          GetDbfRecord.o GetHeader.o GetNewDbf.o GetNewNdx.o GetOldDbf.o \
          GetOldNdx.o GetOneFldDesc.o GoTo.o GoToBottom.o GoToTop.o \
          InitDbf.o InitNdx.o ItoR.o \
          LTrim.o \
          MakeFldDescs.o MakeHeader.o MakeInt.o MakeLong.o MakeOneFldDesc.o \
          OpenDbf.o OpenNdx.o \
          NdxHandle.o \
          PercentDone.o ProcessHeader.o PutDbfRecord.o \
          qsort.o \
          RTrim.o RecNo.o \
          Skip.o \
          ToUpper.o \
          UnDeleteRec.o UpdateHeader.o

ifeq "$(CTYPE)" "SHARED"
                                                                                
.c.o:   $(CC) -c $(CFLAGS) $<
                                                                                
$(LIBRARY):  $(objects)
	$(LD) $(LD_FLAGS) -o $@ $(objects)
                                                                                
else
                                                                                
.PRECIOUS: $(LIBRARY)
.KEEP_STATE:
                                                                                
$(LIBRARY): $(objects)
	ar r $(LIBRARY) $(objects)
        ifdef $(RANLIB)
       		$(RANLIB) $(LIBRARY)
        endif
endif

clean:
	-rm -f $(LIBRARY)
	-rm -f $(objects)
 
release:
	cp $(LIBRARY) $(UDF_HOME)/lib
	cp dbf.h $(UDF_HOME)/include
