# # File: makefile.dos # Author: Julian Smart # Created: 1993 # Updated: # Copyright: (c) 1993, AIAI, University of Edinburgh # # "%W% %G%" # # Makefile : Builds PROLOGIO library WXDIR = $(WXWIN) !include $(WXDIR)\src\makemsc.env WXLIB = $(WXDIR)\lib\wx.lib WXINC = $(WXDIR)\include !include $(WXDIR)\src\makemsc.env PROLOGDIR = $(WXDIR)\utils\prologio PROLOGINC = $(PROLOGDIR)\src DOCDIR = $(PROLOGDIR)\docs DOCUTILSDIR = $(WXDIR)\utils\tex2rtf\src THISDIR = $(PROLOGDIR)\src INC = /I$(WXDIR)\include\base /I$(WXDIR)\include\msw !ifndef FINAL FINAL=0 !endif # Default is to output RTF for WinHelp !ifndef RTFSTYLE RTFSTYLE=-winhelp !endif !ifndef DLL DLL=0 !endif PRECOMP=/YuWX_PREC.H /Fp$(WXDIR)\src\msw\wx.pch # Set this to nothing if using MS C++ 7 ZOPTION=/Z7 !if "$(FINAL)" == "0" DEBUG_FLAGS= /Zi $(ZOPTION) LINK_DEBUG_FLAGS=/CO OPT = /Od !else # /Ox for real FINAL version DEBUG_FLAGS= LINK_DEBUG_FLAGS= OPT = /Od /Gy !endif !if "$(DLL)" == "0" CPPFLAGS= $(DEBUG_FLAGS) /AL /Gt4 /W4 /G2sw /DDEBUG=$(DEBUG) $(OPT) $(INC) $(PRECOMP) /Dwx_msw CFLAGS= $(DEBUG_FLAGS) /AL /W3 /G2sw /DDEBUG=$(DEBUG) $(OPT) /Dwx_msw LINKFLAGS=$(LINK_DEBUG_FLAGS) /NOD /SEG:512 /ONERROR:NOEXE PROLOGLIB = $(PROLOGDIR)\lib\prologio.lib !else CPPFLAGS= $(DEBUG_FLAGS) /AL /Gt4 /W4 /G2s /DDEBUG=$(DEBUG) /GD $(OPT) $(INC) $(PRECOMP) /Dwx_msw CFLAGS= $(DEBUG_FLAGS) /ALw /W3 /G2s /GD /DDEBUG=$(DEBUG) $(OPT) /Dwx_msw LINKFLAGS=$(LINK_DEBUG_FLAGS) /NOD /SEG:512 /ONERROR:NOEXE PROLOGLIB = $(PROLOGDIR)\lib\proiodll.lib !endif SOURCES = read.$(SRCSUFF) y_tab.c lex.yy.c HEADERS = read.h expr.h prorpc.h OBJECTS = read.obj y_tab.obj # prorpc.obj LIBS=$(WXLIB) oldnames.lib libw llibcew commdlg shell # $(PROLOGLIB) all: $(PROLOGLIB) wx: cd $(WXDIR)\src nmake -f makefile.dos $(WXLIB) FINAL=$(FINAL) cd $(PROLOGDIR)\src $(PROLOGLIB): $(OBJECTS) -erase $(PROLOGLIB) lib /PAGESIZE:128 @<< $(PROLOGLIB) y $(OBJECTS) nul ; << $(OBJECTS): $(PROLOGINC)\read.h $(PROLOGINC)\expr.h read.obj: read.$(SRCSUFF) $(PROLOGINC)\read.h $(PROLOGINC)\expr.h cl @<< $(CPPFLAGS) /c /Tp $*.$(SRCSUFF) << prorpc.obj: prorpc.$(SRCSUFF) $(PROLOGINC)\read.h $(PROLOGINC)\expr.h $(PROLOGINC)\prorpc.h cl @<< $(CPPFLAGS) /c /Tp $*.$(SRCSUFF) << y_tab.obj: y_tab.c lex_yy.c cl $(CFLAGS) -DUSE_DEFINE -DYY_USE_PROTOS /c /Tc $*.c # UNIX (or GNU) requires *NO* -DUSE_DEFINE, # some versions of flex require it. If you get unresolved _PROIO_yywrap, don't # use -DUSE_DEFINE. # cl $(CFLAGS) -DUSE_DEFINE -DYY_USE_PROTOS /c /Tc $*.c # *** These lines ensure you don't need # *** YACC or FLEX y_tab.c: dosyacc.c copy dosyacc.c y_tab.c lex_yy.c: doslex.c copy doslex.c lex_yy.c # *** This is how you would recreate the files # *** using the YACC and FLEX #y_tab.c: parser.y # yacc parser.y #lex_yy.c: lexer.l # flex -8 -t lexer.l > lex_yy.c test.exe: $(WXLIB) $(PROLOGLIB) test.obj test.def test.res link $(LINKFLAGS) @<< $(WXDIR)\src\msw\dummy.obj test.obj, test, NUL, $(LIBS), test.def ; << rc -30 -K test.res test.obj: test.$(SRCSUFF) cl @<< $(CPPFLAGS) /c /Tp $*.$(SRCSUFF) << test.res : test.rc $(WXDIR)\include\msw\wx.rc rc -r /dFAFA_LIB /i$(WXDIR)\contrib\fafa /i$(WXDIR)\include\msw test # Making documents docs: $(DOCDIR)/prologio.hlp rtf: $(DOCDIR)/prologio.rtf hlp: $(DOCDIR)/prologio.hlp $(DOCDIR)/prologio.hlp: $(DOCDIR)/prologio.rtf $(DOCDIR)/prologio.hpj cd $(DOCDIR) -erase prologio.ph hc prologio cd $(THISDIR) $(DOCDIR)/prologio.rtf: $(DOCDIR)/manual.tex $(DOCDIR)/classes.tex cd $(DOCDIR) -start /w tex2rtf $(DOCDIR)\manual.tex $(DOCDIR)\prologio.rtf -twice $(RTFSTYLE) cd $(THISDIR) clean: -erase *.exe -erase *.obj -erase *.pdb -erase *.sbr -erase *.res -erase y_tab.c -erase lex_yy.c -erase $(PROLOGLIB) cleanrtf: cd $(DOCDIR) -erase *.rtf cd $(THISDIR) cleanall: -erase *.exe *.obj *.pch y_tab.c lex_yy.c $(PROLOGLIB)