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 = libCfg.$(SO_EXT)
else
CFLAGS  = $(INCS) $(LBS) $(CADD)
LIBRARY = libCfg.a
endif

objects = aConfig.o \
          CfgInit.o CfgPath.o CreateIValue.o \
	  DupStr.o \
          DB_Config.o DbfFile.o DestroyIValue.o DestroyStrHier.o \
          FindIValue.o \
          get_symbol.o \
          LinkAppend.o \
          NextItemSubList.o \
          open_config.o \
          P_Config.o P_Free.o pc_get_tokens.o process_symbol.o \
          parse_config.o pc_add_symbol.o pc_destroy_config.o pc_get_line.o \
          ScfNextItems.o SHCreateNodes.o SourceByNum.o SourceByStr.o \
          VidfNextItems.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

release:
	cp $(LIBRARY) $(UDF_HOME)/lib
	cp ItemValue.h $(UDF_HOME)/include
	cp Pconfig.h $(UDF_HOME)/include
	cp Destroy.h $(UDF_HOME)/include
	cp LinkList.h $(UDF_HOME)/include
	cp StrHier.h $(UDF_HOME)/include
	cp ant.h $(UDF_HOME)/include
	cp libCfg.h $(UDF_HOME)/include

clean:
	-rm -f $(LIBRARY)
	-rm -f $(objects)
