CC      = gcc
INCS    = -I$(UDF_HOME)/include -I$(GPH_HOME)/include -I$(UDFTOOL_HOME)/GMenu/include
LBS     = -L$(UDF_HOME)/lib  -L$(GPH_HOME)/lib -L$(UDFTOOL_HOME)/lib
CADD    =
EXT     =
RANLIB  =
CTYPE   =
LIBS    = -lGmenu -lErrorMsgs -lpidf -lbase_udf -lErrorMsgs -lpidf \
          -lServer -lCfg -ldB -lcont -lmaps -lplt -lgraf \
          -lgdrv -lgraf $(XLIB) -lm

ifeq "$(CTYPE)" "SHARED"
LHOME   = $(UDF_HOME)/lib
CFLAGS  = $(INCS) $(LBS) $(CADD) $(CSO)
CF      = $(INCS) $(LBS) $(CADD)
LIBRARY = libUDFplot.$(SO_EXT)

else
                                                                                
CFLAGS  = $(INCS) $(LBS) $(CADD)
CF      = $(INCS) $(LBS) $(CADD)
LIBRARY = libUDFplot.a
endif

objects = AdvTickTm.o AssemPlot.o AvgOverX.o AxisLabs.o AxisNum.o \
          AxisRes.o AxisText.o \
          BegEndSrc.o BegTmTick.o Bins.o BuildPlots.o \
          CheckMem.o ChkStoreMem.o ChkUnits.o CmpTm.o CPlots.o ContPlots.o \
          DoBins.o DoInitializes.o DrTerminator.o DrTmTicks.o DupSrc.o \
          EarthWin.o ErrorRpt.o \
          FetchAlt.o FetchData.o FillGaps.o FirstMemGets.o FormEdges.o \
          FormPlots.o FracTm.o FullPolar.o \
          GenLabs.o Gen1DPlots.o Gen2DPlots.o GetBin.o GetBinStats.o \
          GetIt.o GetPidfStuff.o GetPixel.o GetVPidfStuff.o GetVidfStuff.o \
          GetWorkSpace.o GiveEdges.o GrowSrcs.o \
          IncTm.o IntOverX.o \
	  int_units.o int_label.o \
          LabelMkr.o LShells.o \
          MainLab.o Menu3DPlane.o MenuContour.o MenuCut.o MenuDisplay.o \
          MenuInterface.o MenuLabels.o MenuPlotDef.o MenuTools.o MenuUDF.o \
          MenuVUDF.o MidTime.o \
          NeedAlt.o Normalize.o \
          OpenDataFiles.o OutOfLimits.o \
          PerCentAge.o PixRes.o PlotCut.o PlotGlobe.o PlotInits.o PlotObj.o \
          PlotText.o PlotTimes.o PlotVecData.o PolarToCartesian.o \
          PopUpCBar.o PopUpPlot.o \
          RmFlow.o RollTime.o RowCol.o \
          ScanPlots.o SetBaseNorm.o SetUpMapPlot.o SetUpRecPlot.o \
          SortKeys.o StartPlot.o StopPlot.o \
          TimeAlign.o TimePlots.o TimeTicks.o TimeValue.o TmBrkOut.o TmRes.o \
          Tools.o TFerLine.o TransDate.o TransFer.o \
          ValToColor.o VecData.o \
          XferContour.o XPix.o \
          ZeroWkSp.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


UDFplot : UDFplot.o 
	$(CC) $(CF) UDFplot.o -o UDFplot$(EXT) $(LIBRARY) $(LIBS)
	rm UDFplot.o

release :
	mv UDFplot$(EXT) ../bin
        ifeq "$(CTYPE)" "SHARED"
	        cp $(LIBRARY) ../lib
        endif

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