#
# File:		makefile.unx
# Author:	Julian Smart
# Created:	1993
# Updated:	
# Copyright:	(c) 1993, AIAI, University of Edinburgh
#
# "%W% %G%"
#
# Makefile for graph library and example (UNIX).

WXDIR = ../../..

# All common UNIX compiler flags and options are now in
# this central makefile.
include $(WXDIR)/src/make.env

GRAPHDIR = $(WXDIR)/utils/wxgraph
GRAPHINC = $(GRAPHDIR)/src
GRAPHLIB = $(GRAPHDIR)/lib/libwxgraph$(GUISUFFIX).a

SOURCES = tree.$(SRCSUFF)
HEADERS = tree.h
OBJECTS = $(OBJDIR)/wxgraph.$(OBJSUFF)

TESTOBJECTS = $(OBJDIR)/test.$(OBJSUFF)
TESTPROGRAM = test$(GUISUFFIX)

DOCUTILSDIR = $(WXDIR)/utils/tex2rtf/src

LDFLAGS = $(XLIB) -L$(WXDIR)/lib -L$(GRAPHDIR)/lib

XVIEWLDLIBS = -lwxgraph_ol -lwx_ol -lxview -lolgx -lX11 -lm $(COMPLIBS)
MOTIFLDLIBS = -lwxgraph_motif -lwx_motif -lXm -lXt -lX11 -lm $(COMPLIBS)
HPLDLIBS = -lwxgraph_hp -lwx_hp -lXm -lXt -lX11 -lm $(COMPLIBS)
# Default
LDLIBS=$(XVIEWLDLIBS)

.SUFFIXES:

all:	$(OBJDIR) $(GRAPHLIB)

demo:   $(TESTPROGRAM)

$(GRAPHLIB): $(OBJECTS)
	rm -f $@
	ar $(AROPTIONS) $@ $(OBJECTS)
	$(RANLIB) $@

wxmotif:
	cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx motif DEBUG='$(DEBUG)'

wxxview:
	cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx xview DEBUG='$(DEBUG)'

motif:
	cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx motif OPT='$(OPT)' DEBUG='$(DEBUG)'
	$(MAKE) -f makefile.unx GUISUFFIX=_motif GUI=-Dwx_motif GUISUFFIX=_motif OPT='$(OPT)'\
  DEBUG='$(DEBUG)' LDLIBS='$(MOTIFLDLIBS)' WXLIB=$(WXDIR)/lib/libwx_motif.a XVIEW_LINK=

xview:
	cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx xview OPT='$(OPT)' DEBUG='$(DEBUG)'
	$(MAKE) -f makefile.unx GUI=-Dwx_xview  DEBUG='$(DEBUG)' GUISUFFIX=_ol OPT='$(OPT)'

motifdemo:
	cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx motif OPT='$(OPT)' DEBUG='$(DEBUG)'
	$(MAKE) -f makefile.unx all test_motif GUI=-Dwx_motif DEBUG='$(DEBUG)' GUISUFFIX=_motif OPT='$(OPT)' LDLIBS='$(MOTIFLDLIBS)' XVIEW_LINK=

xviewdemo:
	cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx xview OPT='$(OPT)' DEBUG='$(DEBUG)'
	$(MAKE) -f makefile.unx all test_ol GUI=-Dwx_xview OPT='$(OPT)' DEBUG='$(DEBUG)'

hp:
	$(MAKE) -f makefile.unx GUI=-Dwx_motif GUISUFFIX=_hp CC=CC DEBUGFLAGS='' WARN='-w' \
           XINCLUDE='$(HPXINCLUDE)' XLIB='$(HPXLIB)' XVIEW_LINK='' CCLEX='cc' \
           LDLIBS='$(HPLDLIBS)'

$(OBJDIR):
	mkdir $(OBJDIR)

test$(GUISUFFIX): $(OBJDIR)/test.$(OBJSUFF) $(WXLIB) $(GRAPHLIB)
	$(CC) $(LDFLAGS) -o test$(GUISUFFIX) $(OBJDIR)/test.$(OBJSUFF) $(XVIEW_LINK) $(LDLIBS)

$(OBJDIR)/wxgraph.$(OBJSUFF):        wxgraph.$(SRCSUFF) wxgraph.h
	$(CC) -c $(CPPFLAGS) -o $@ wxgraph.$(SRCSUFF)

$(OBJDIR)/test.$(OBJSUFF):        test.$(SRCSUFF) test.h wxgraph.h
	$(CC) -c $(CPPFLAGS) -o $@ test.$(SRCSUFF)

docs:	ps xlp
ps:	$(GRAPHDIR)/docs/manual.ps
xlp:	$(GRAPHDIR)/docs/wxgraph.xlp
html:	$(GRAPHDIR)/docs/wxgraph_contents.html

$(GRAPHDIR)/docs/wxgraph.xlp:	$(GRAPHDIR)/docs/manual.tex $(GRAPHDIR)/docs/classes.tex
	cd ../docs; tex2rtf manual.tex tmp.xlp -xlp -twice
	sed -e "s/WXHELPCONTENTS/wxGraphLayout Manual/g" < $(GRAPHDIR)/docs/tmp.xlp > $(GRAPHDIR)/docs/wxgraph.xlp
	/bin/rm -f $(GRAPHDIR)/docs/tmp.xlp

$(GRAPHDIR)/docs/wxgraph_contents.html:	$(GRAPHDIR)/docs/manual.tex $(GRAPHDIR)/docs/classes.tex
	cd ../docs; tex2rtf manual.tex wxgraph.html -html -twice
	/bin/cp ../docs/*.html /user/11/jacs/html/wxgraph
	/bin/rm ../docs/*.html

$(GRAPHDIR)/docs/manual.dvi:	$(GRAPHDIR)/docs/manual.tex $(GRAPHDIR)/docs/classes.tex
	cd $(GRAPHDIR)/docs; latex manual; latex manual; makeindex manual; latex manual

$(GRAPHDIR)/docs/manual.ps:	$(GRAPHDIR)/docs/manual.dvi
	cd $(GRAPHDIR)/docs; dvips -f -r < manual.dvi > manual.ps

clean_motif:
	$(MAKE) -f makefile.unx GUISUFFIX=_motif cleanany

clean_ol:
	$(MAKE) -f makefile.unx GUISUFFIX=_ol cleanany

clean_hp:
	$(MAKE) -f makefile.unx GUISUFFIX=_hp cleanany

cleanany:
	rm -f $(OBJECTS) $(OBJDIR)/*.$(OBJSUFF) test$(GUISUFFIX) $(GRAPHLIB) core

wxclean_ol:
	cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx clean_ol

wxclean_motif:
	cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx clean_motif

