--- /dev/null
+##################################################
+###
+### Makefile for OS/2 version of LCLint
+###
+### designed for use with gmake (GNU make)
+###
+### based on David Evans' original makefile for Unix systems
+###
+### This file should not need to be edited.
+###
+### configuration is set by top-level makefile and written to file
+### config.inc included by this file.
+###
+### Commands:
+###
+### make all
+### builds a release version of lclint from scratch using optimizations
+###
+
+O=.o
+E=
+
+
+include ../os2/config.inc
+
+.SUFFIXES:
+.SUFFIXES: $E $O .h .c .l .check
+
+###
+### object files needed for building lclint:
+### note that there is no dependency checking done!
+###
+FIRSTOBJ=cgrammar$O llgrammar$O signature$O
+OBJ=$(FIRSTOBJ) abstract$O aliasTable$O annotationInfo$O annotationTable$O \
+ checking$O clabstract$O clause$O clauseStack$O constraint$O \
+ constraintExpr$O constraintExprData$O constraintGeneration$O \
+ constraintList$O constraintOutput$O constraintResolve$O constraintTerm$O \
+ context$O cpperror$O cppexp$O cpphash$O cpplib$O cppmain$O cprim$O \
+ cscanner$O cstring$O cstringList$O cstringSList$O cstringTable$O ctype$O \
+ ctypeList$O cvar$O declaratorInvNodeList$O declaratorNodeList$O ekind$O \
+ enumNameList$O enumNameSList$O exprChecks$O exprData$O exprNode$O \
+ exprNodeList$O exprNodeSList$O fcnNodeList$O fileLib$O fileIdList$O \
+ fileTable$O fileloc$O filelocList$O filelocStack$O flagMarker$O \
+ flagMarkerList$O flagSpec$O flags$O forjunk$O functionClause$O \
+ functionClauseList$O functionConstraint$O general$O genericTable$O \
+ globalsClause$O globSet$O globals$O guardSet$O idDecl$O idDeclList$O \
+ importNodeList$O imports$O initDeclNodeList$O inputStream$O intSet$O \
+ interfaceNodeList$O lclctypes$O lclinit$O lcllib$O lclscan$O \
+ lclscanline$O lclsyntable$O lcltokentable$O letDeclNodeList$O lh$O \
+ llerror$O llmain$O lltok$O lslOpList$O lslOpSet$O lslinit$O \
+ lslparse$O lsymbol$O lsymbolList$O lsymbolSet$O ltoken$O ltokenList$O \
+ macrocache$O mapping$O message$O messageLog$O metaStateConstraint$O \
+ metaStateConstraintList$O metaStateExpression$O metaStateInfo$O \
+ metaStateSpecifier$O metaStateTable$O modifiesClause$O mtAnnotationDecl$O \
+ mtAnnotationList$O mtAnnotationsNode$O mtContextNode$O \
+ mtDeclarationNode$O mtDeclarationPiece$O mtDeclarationPieces$O \
+ mtDefaultsDecl$O mtDefaultsDeclList$O mtDefaultsNode$O mtLoseReference$O \
+ mtLoseReferenceList$O mtMergeClause$O mtMergeClauseList$O mtMergeItem$O \
+ mtMergeNode$O mtTransferAction$O mtTransferClause$O \
+ mtTransferClauseList$O mtValuesNode$O mtgrammar$O mtreader$O mtscanner$O \
+ mttok$O multiVal$O nameChecks$O osd$O pairNodeList$O paramNodeList$O \
+ programNodeList$O qtype$O qual$O qualList$O quantifierNodeList$O \
+ randomNumbers$O reader$O replaceNodeList$O sRef$O sRefSet$O sRefSetList$O \
+ sRefTable$O scan$O scanline$O shift$O sigNodeSet$O \
+ sort$O sortList$O sortSet$O sortSetList$O stateClause$O stateClauseList$O \
+ stateCombinationTable$O stateInfo$O stateValue$O stDeclNodeList$O \
+ storeRefNodeList$O structNames$O symtable$O syntable$O termNodeList$O \
+ tokentable$O traitRefNodeList$O transferChecks$O typeIdSet$O \
+ typeNameNodeList$O uentry$O uentryList$O usymIdSet$O usymtab$O \
+ usymtab_interface$O valueTable$O varDeclarationNodeList$O varKinds$O \
+ varNodeList$O warnClause$O ynm$O
+
+###
+### main (and only) target: lclint with all optimizations.
+###
+
+all: Headers\\flag_codes.gen lclint$E
+lclint$E : $(OBJ)
+ $(CC) $(OFLAG) $(OBJ) $(LINKFLAGS)
+
+###
+### subtarget: local constants header file.
+###
+
+localconstants:
+ cmd /c if exist Headers\local_constants.last del Headers\local_constants.last
+ cmd /c if exist Headers\local_constants.h ren Headers\local_constants.h local_constants.last
+ $(ECHO) "/* local_constants.h - created automatically by gmake localconstants */" > Headers\local_constants.h
+ $(ECHO) "/*@constant observer char *DEFAULT_CPPCMD;@*/" >> Headers\local_constants.h
+ $(ECHO) -E "# define DEFAULT_CPPCMD \"$(DEFAULT_CPPCMD)\"" >> Headers\local_constants.h
+ $(ECHO) "/*@constant observer char *SYSTEM_LIBDIR;@*/" >> Headers\local_constants.h
+ $(ECHO) -E "# define SYSTEM_LIBDIR \"$(SYSTEM_LIBDIR)\"" >> Headers\local_constants.h
+ $(ECHO) "/*@constant observer char *DEFAULT_LARCHPATH;@*/" >> Headers\local_constants.h
+ $(ECHO) -E "# define DEFAULT_LARCHPATH \"$(DEFAULT_LARCHPATH)\"" >> Headers\local_constants.h
+ $(ECHO) "/*@constant observer char *DEFAULT_LCLIMPORTDIR;@*/" >> Headers\local_constants.h
+ $(ECHO) -E "# define DEFAULT_LCLIMPORTDIR \"$(DEFAULT_LCLIMPORTDIR)\"" >> Headers\local_constants.h
+
+###
+### grammars
+###
+
+###
+### -p xx flag to bison renames yyparse ==> xxparse, xxlex ==> xxlex
+### this is probably NOT compatible with yacc.
+###
+
+signature.c : signature.c.der signature.y
+ifdef BISON
+ $(BISON) $(YFLAGS) -p lsl signature.y
+ $(CAT) bison.head signature.tab.c > signature.c
+ -$(MV) Headers\signature_gen.h Headers\signature_gen.bak
+ $(CAT) bison.head signature.tab.h > Headers\signature_gen.h
+else
+ (CP) signature.c.der signature.c
+endif
+
+cgrammar.c : cgrammar.c.der cgrammar.y
+ifdef BISON
+ $(BISON) $(YFLAGS) cgrammar.y
+ $(CAT) bison.head cgrammar.tab.c > cgrammar.c
+ -$(MV) Headers\cgrammar_tokens.h Headers\cgrammar_tokens.bak
+ $(CAT) bison.head cgrammar.tab.h > Headers\cgrammar_tokens.h
+else
+ $(CP) cgrammar.c.der cgrammar.c
+endif
+
+### llgrammar2.h is necessary so +singleinclude may be used
+
+llgrammar.c : llgrammar.c.der llgrammar.y
+ifdef BISON
+ $(BISON) $(YFLAGS) -p yl llgrammar.y
+ $(CAT) bison.head llgrammar.tab.c > llgrammar.c
+ -$(MV) Headers\llgrammar_gen2.h Headers\llgrammar_gen2.bak
+ $(CAT) bison.head llgrammar.tab.h > Headers\llgrammar_gen2.h
+ -$(MV) Headers\llgrammar_gen.h Headers\llgrammar_gen.bak
+ $(CAT) bison.head llgrammar.tab.h > Headers\llgrammar_gen.h
+else
+ $(CP) llgrammar.c.der llgrammar.c
+endif
+
+cscanner.c : cscanner.c.der cscanner.l
+ifdef FLEX
+ $(FLEX) $(LFLAGS) -olex.yy.c cscanner.l
+ $(CAT) flex.head lex.yy.c > cscanner.c
+else
+ $(CP) cscanner.c.der cscanner.c
+endif
+
+###
+### compile without warnings
+###
+signature.o : signature.c
+ $(CC) $(CPPFLAGS) -c $*.c
+
+cgrammar.o : cgrammar.c
+ $(CC) $(CPPFLAGS) -c $*.c
+
+cscanner.o : cscanner.c
+ $(CC) $(CPPFLAGS) -c $*.c
+
+mtgrammar.o : mtgrammar.c
+ $(CC) $(CPPFLAGS) -c $*.c
+
+llgrammar.o : llgrammar.c
+ $(CC) $(CPPFLAGS) -c $*.c
+
+
+###
+### header files dependant on grammars
+###
+
+Headers\signature2.h : signature.c
+Headers\cgrammar2.h : cgrammar.c
+Headers\llgrammar.h : llgrammar.c
+
+###
+### generated headers
+###
+
+Headers\\flag_codes.gen: flags.def
+ grep "FLG_" $< >$@
+ touch flags.c
+
+###
+### defaults
+###
+
+### Flags for checking a single file
+SINGLEFLAGS = +neverinclude -supcounts +partial -showsummary -load lclint.lcd
+
+.c$O:
+ $(CC) $(CFLAGS) $(CPPFLAGS) -c $*.c
+
+###
+### cleaning
+###
+### Standard entries to remove files from the directories
+### up --- remove .o files and grammar derivatives
+### tidy --- eliminate unwanted files
+### clean --- delete derived files, except for spec-derived files
+### pristine --- delete all derived files
+###
+
+pristine: clean
+ -$(RM) -f *.lcs *.lslo
+
+clean: tidy
+ -$(RM) core lclint
+ -$(RM) *.out *.output *.bib *.dvi *.idx *.log *$O *.toc
+ -$(RM) cgrammar.c cscanner.c
+
+tidy:
+ -$(RM) ,* .,* *.CKP *.BAK .emacs_[0-9]* core a.out *.*~
+
+up:
+ -$(RM) cgrammar.c llgrammar.c signature.c cscanner.c
+ -$(RM) *$O
+
+###
+### other flags are in .lclintrc file
+###
+
+lint:
+ $(LCLINT) -f lclint.lclintrc $(CPPFLAGS) +singleinclude $(ALLSRC) -dump lclint
+
+
+