# # File: makefile.unx # Author: Julian Smart # Created: 1993 # Updated: # Copyright: (c) 1993, AIAI, University of Edinburgh # # "%W% %G%" # # Makefile for libprologio.a WXDIR = ../../.. # All common UNIX compiler flags and options are now in # this central makefile. include $(WXDIR)/src/make.env DOCUTILSDIR = $(WXDIR)/utils/tex2rtf/src PROLOGDIR = $(WXDIR)/utils/prologio PROLOGINC = $(PROLOGDIR)/src PROLOGLIB = $(PROLOGDIR)/lib/libproio$(GUISUFFIX).a OBJECTS = $(OBJDIR)/read.$(OBJSUFF) $(OBJDIR)/y_tab.$(OBJSUFF) # $(OBJDIR)/prorpc.$(OBJSUFF) TESTOBJECTS = $(OBJDIR)/test.$(OBJSUFF) TESTPROGRAM = $(PROLOGDIR)/src/test$(GUISUFFIX) EXTRAFLAGS=-L$(WXDIR)/contrib/xmgauge EXTRALIBS=-lgauge_motif # Remove -DLEX_SCANNER if using FLEX instead of LEX CPPFLAGS = -DLEX_SCANNER $(XINCLUDE) $(INC) -I$(PROLOGINC) $(GUI) $(DEBUGFLAGS) -DDEBUG=$(DEBUG) $(WARN) $(OPTIONS) $(HARDY_OPTIONS) $(OPT) CFLAGS = -DLEX_SCANNER $(XINCLUDE) $(INC) $(COPTIONS) $(GUI) $(DEBUGFLAGS) \ -DDEBUG='$(DEBUG)' $(CWARN) $(OPT) LDFLAGS = $(XLIB) -L$(WXDIR)/lib -L$(PROLOGDIR)/lib $(EXTRAFLAGS) LDLIBS = -lproio_ol -lwx_ol -lxview -lolgx -lX11 -lm -lg++ XVIEWLDLIBS = -lproio_ol -lwx_ol -lxview -lolgx -lX11 -lm $(COMPLIBS) MOTIFLDLIBS = -lproio_motif -lwx_motif $(EXTRALIBS) -lXm -lXt -lX11 -lm $(COMPLIBS) HPLDLIBS = -lproio_hp -lwx_hp -lXm -lXt -lX11 -lm $(HPCOMPLIBS) # Default LDLIBS=$(XVIEWLDLIBS) all: $(OBJDIR) $(PROLOGLIB) demo: $(TESTPROGRAM) $(PROLOGLIB): $(OBJECTS) rm -f $@ ar $(AROPTIONS) $@ $(OBJECTS) $(RANLIB) $@ .SUFFIXES: $(OBJECTS): $(PROLOGINC)/read.h $(PROLOGINC)/expr.h $(PROLOGINC)/prorpc.h motif: $(MAKE) -f makefile.unx GUISUFFIX=_motif GUI=-Dwx_motif OPT='$(OPT)' GUISUFFIX=_motif LDLIBS='$(MOTIFLDLIBS)' XVIEW_LINK= xview: $(MAKE) -f makefile.unx GUI=-Dwx_xview OPT='$(OPT)' GUISUFFIX=_ol hp: $(MAKE) -f makefile.unx GUI=-Dwx_motif GUISUFFIX=_hp CC=CC OPT='' WARN='-w' \ XINCLUDE='$(HPXINCLUDE)' XLIB='$(HPXLIB)' XVIEW_LINK='' CCLEX='cc' \ LDLIBS='$(HPLDLIBS)' demo_hp: $(MAKE) -f makefile.unx all demo GUI=-Dwx_motif GUISUFFIX=_hp CC=CC WARN='' \ XINCLUDE='$(HPXINCLUDE)' XLIB='$(HPXLIB)' XVIEW_LINK='' CCLEX='cc' \ LDLIBS='$(HPLDLIBS)' demo_motif: cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx motif OPT='$(OPT)' $(MAKE) -f makefile.unx all demo GUI=-Dwx_motif GUISUFFIX=_motif OPT='$(OPT)' LDLIBS='$(MOTIFLDLIBS)' XVIEW_LINK= demo_ol: cd $(WXDIR)/src/x; $(MAKE) -f makefile.unx xview OPT='$(OPT)' $(MAKE) -f makefile.unx all demo GUI=-Dwx_xview OPT='$(OPT)' $(OBJDIR)/read.$(OBJSUFF): read.$(SRCSUFF) $(CC) -c $(CPPFLAGS) -o $@ read.$(SRCSUFF) $(OBJDIR)/prorpc.$(OBJSUFF): prorpc.$(SRCSUFF) $(CC) -c $(CPPFLAGS) -o $@ prorpc.$(SRCSUFF) $(OBJDIR)/y_tab.$(OBJSUFF): y_tab.c lex_yy.c $(CCLEX) -c $(CFLAGS) -o $@ y_tab.c # Replace lex with flex if you run into compilation # problems with lex_yy.c. See also note about LEX_SCANNER # above. lex_yy.c: lexer.l $(LEX) lexer.l sed -e "s/BUFSIZ/5000/g" < lex.yy.c | \ sed -e "s/yyoutput(c)/void yyoutput(c)/g" | \ sed -e "s/YYLMAX 200/YYLMAX 5000/g" > lex_yy.c /bin/rm -f lex.yy.c # Replace yacc with bison if you run into compilation # problems with y_tab.c. y_tab.c: parser.y $(YACC) parser.y mv y.tab.c y_tab.c $(OBJDIR)/test.$(OBJSUFF): test.$(SRCSUFF) read.$(SRCSUFF) read.h $(CC) -c $(CPPFLAGS) -o $@ test.$(SRCSUFF) $(TESTPROGRAM): $(OBJDIR)/test.$(OBJSUFF) $(WXLIB) $(PROLOGLIB) $(CC) $(LDFLAGS) -o test$(GUISUFFIX) $(OBJDIR)/test.$(OBJSUFF) $(XVIEW_LINK) $(LDLIBS) HTMLDIR=/home/hardy/html/wx/manuals docs: ps xlp ps: $(PROLOGDIR)/docs/manual.ps xlp: $(PROLOGDIR)/docs/prologio.xlp html: $(HTMLDIR)/prologio/prologio_contents.html $(PROLOGDIR)/docs/prologio.xlp: $(PROLOGDIR)/docs/classes.tex $(PROLOGDIR)/docs/manual.tex cd ../docs; tex2rtf manual.tex tmp.xlp -twice -xlp sed -e "s/WXHELPCONTENTS/PROLOGIO Manual/g" < $(PROLOGDIR)/docs/tmp.xlp > $(PROLOGDIR)/docs/prologio.xlp /bin/rm -f $(PROLOGDIR)/docs/tmp.xlp $(HTMLDIR)/prologio/prologio_contents.html: $(PROLOGDIR)/docs/manual.tex $(PROLOGDIR)/docs/classes.tex cd ../docs; tex2rtf manual.tex $(HTMLDIR)/prologio/prologio.html -twice -html $(PROLOGDIR)/docs/manual.dvi: $(PROLOGDIR)/docs/manual.tex $(PROLOGDIR)/docs/classes.tex $(PROLOGDIR)/docs/tutorial.tex cd $(PROLOGDIR)/docs; latex manual; latex manual; makeindex manual; latex manual $(PROLOGDIR)/docs/manual.ps: $(PROLOGDIR)/docs/manual.dvi cd $(PROLOGDIR)/docs; dvips -f -r < manual.dvi > manual.ps cleaneach: rm -f $(OBJECTS) $(TESTOBJECTS) lex_yy.c y_tab.c test$(GUISUFFIX) $(PROLOGLIB) core clean_motif: $(MAKE) -f makefile.unx GUISUFFIX=_motif cleaneach clean_hp: $(MAKE) -f makefile.unx GUISUFFIX=_hp cleaneach clean_ol: $(MAKE) -f makefile.unx GUISUFFIX=_ol cleaneach $(OBJDIR): mkdir $(OBJDIR)