\r
CPPSRC = cppmain.c cpplib.c cppexp.c cpphash.c cpperror.c\r
\r
-CSRC = uentry.c cprim.c macrocache.c qual.c qtype.c stateClause.c \\r
+CSRC = context.c uentry.c cprim.c macrocache.c qual.c qtype.c stateClause.c \\r
stateClauseList.c ctype.c cvar.c clabstract.c idDecl.c clause.c \\r
globalsClause.c modifiesClause.c warnClause.c functionClause.c \\r
functionClauseList.c metaStateConstraint.c metaStateConstraintList.c \\r
metaStateExpression.c metaStateSpecifier.c functionConstraint.c \\r
- pointers.c\r
+ pointers.c cscannerHelp.c \r
\r
SPLINTSRC = exprNode.c exprChecks.c llmain.c help.c rcfiles.c\r
CHECKSRC = structNames.c transferChecks.c varKinds.c nameChecks.c\r
\r
-GLOBSRC = context.c globals.c flags.c general.c osd.c reader.c mtreader.c\r
+GLOBSRC = globals.c flags.c general.c osd.c reader.c mtreader.c\r
\r
GRAMSRC = cgrammar.c cscanner.c mtscanner.c mtgrammar.c llgrammar.c signature.c\r
\r
-OVERFLOWCHSRC = constraintGeneration.c constraintTerm.c \\r
+OVERFLOWCHSRC = constraintList.c constraintResolve.c \\r
+ constraintGeneration.c constraintTerm.c \\r
constraintExprData.c constraintExpr.c constraint.c \\r
- constraintList.c constraintResolve.c \\r
- constraintOutput.c loopHeuristics.c \r
+ loopHeuristics.c \r
\r
GENERALSRC = exprData.c cstring.c fileloc.c message.c inputStream.c \\r
fileTable.c cstringTable.c valueTable.c stateValue.c \\r
\r
IFILES = ctbase.i cttable.i exprDataQuite.i\r
\r
-\r
#Files that are used on systems that do not have bison or yacc\r
DER_BISON_FILES = signature.c.der cgrammar.c.der mtgrammar.c.der \\r
llgrammar.c.der \r
DER_FILES = $(DER_BISON_FILES)\r
\r
\r
-COMMONSRC = $(OVERFLOWCHSRC) $(CPPSRC) $(CSRC) $(CHECKSRC) $(GENERALSRC) \\r
- $(GLOBSRC) $(IFACESRC) $(LISTSRC) $(SETSRC) $(METASTATESRC)\r
+COMMONSRC = $(CPPSRC) $(CSRC) $(CHECKSRC) $(GENERALSRC) \\r
+ $(GLOBSRC) $(LISTSRC) $(SETSRC) $(METASTATESRC)\r
+\r
+LCLSRC = $(LCLSETSRC) $(LCLLISTSRC) $(LSLSRC) $(COMMONSRC) $(LCLONLYSRC) \r
\r
-ALLSRC = $(GRAMSRC) $(COMMONSRC) $(SPLINTSRC) $(DER_FILES) \r
+ALLSRC = $(GRAMSRC) $(SPLINTSRC) $(OVERFLOWCHSRC) $(LCLSRC) snprintf.c\r
\r
#files to run Splint on\r
-LINTSRC = $(COMMONSRC) $(SPLINTSRC) cscanner.c cgrammar.c\r
+LINTSRC = $(COMMONSRC) $(SPLINTSRC)\r
\r
-LCLSRC = $(LCLSETSRC) $(LCLLISTSRC) $(LSLSRC) $(CMNSRC) $(LCLONLYSRC) \r
lcl_SOURCES = $(LCLSRC)\r
CONFIG_HEADER = $(top_builddir)/config.h\r
\r
splint_SOURCES = $(ALLSRC)\r
-\r
-lcl_OBJECTS = lsymbolSet$O sigNodeSet$O \\r
- lslOpSet$O sortSet$O initDeclNodeList$O \\r
- sortList$O declaratorInvNodeList$O \\r
- interfaceNodeList$O sortSetList$O \\r
- declaratorNodeList$O letDeclNodeList$O \\r
- stDeclNodeList$O storeRefNodeList$O \\r
- lslOpList$O lsymbolList$O \\r
- termNodeList$O ltokenList$O \\r
- traitRefNodeList$O pairNodeList$O \\r
- typeNameNodeList$O fcnNodeList$O \\r
- paramNodeList$O programNodeList$O \\r
- varDeclarationNodeList$O varNodeList$O \\r
- quantifierNodeList$O replaceNodeList$O \\r
- importNodeList$O tokentable$O scan$O \\r
- scanline$O lslparse$O lh$O \\r
- checking$O lclctypes$O imports$O \\r
- lslinit$O syntable$O \\r
- usymtab_interface$O abstract$O ltoken$O \\r
- lclscanline$O lclsyntable$O \\r
- lcltokentable$O sort$O symtable$O \\r
- lclinit$O shift$O lclscan$O \\r
- lsymbol$O mapping$O\r
-\r
-splint_OBJECTS = cgrammar$O cscanner$O \\r
- mtscanner$O mtgrammar$O llgrammar$O \\r
- signature$O cppmain$O cpplib$O \\r
- cppexp$O cpphash$O cpperror$O \\r
- context$O uentry$O cprim$O \\r
- macrocache$O qual$O qtype$O \\r
- stateClause$O stateClauseList$O ctype$O \\r
- cvar$O clabstract$O idDecl$O \\r
- clause$O globalsClause$O \\r
- modifiesClause$O warnClause$O \\r
- functionClause$O functionClauseList$O \\r
- metaStateConstraint$O metaStateConstraintList$O \\r
- metaStateExpression$O metaStateSpecifier$O \\r
- functionConstraint$O pointers$O \\r
- structNames$O transferChecks$O \\r
- varKinds$O nameChecks$O exprData$O \\r
- cstring$O fileloc$O message$O \\r
- inputStream$O fileTable$O \\r
- cstringTable$O valueTable$O \\r
- stateValue$O llerror$O messageLog$O \\r
- flagMarker$O aliasTable$O ynm$O \\r
- sRefTable$O genericTable$O ekind$O \\r
- usymtab$O multiVal$O lltok$O \\r
- sRef$O lcllib$O randomNumbers$O \\r
- fileLib$O globals$O \\r
- flags$O general$O osd$O \\r
- reader$O mtreader$O clauseStack$O \\r
- filelocStack$O cstringList$O \\r
- cstringSList$O sRefSetList$O \\r
- ctypeList$O enumNameList$O \\r
- enumNameSList$O exprNodeList$O \\r
- exprNodeSList$O uentryList$O \\r
- fileIdList$O filelocList$O qualList$O \\r
- sRefList$O flagMarkerList$O \\r
- idDeclList$O flagSpec$O globSet$O \\r
- intSet$O typeIdSet$O guardSet$O \\r
- usymIdSet$O sRefSet$O stateInfo$O \\r
- stateCombinationTable$O metaStateTable$O \\r
- metaStateInfo$O annotationTable$O \\r
- annotationInfo$O mttok$O \\r
- mtDeclarationNode$O mtDeclarationPieces$O \\r
- mtDeclarationPiece$O mtContextNode$O \\r
- mtValuesNode$O mtDefaultsNode$O \\r
- mtAnnotationsNode$O mtMergeNode$O \\r
- mtAnnotationList$O mtAnnotationDecl$O \\r
- mtTransferClauseList$O mtTransferClause$O \\r
- mtTransferAction$O mtLoseReferenceList$O \\r
- mtLoseReference$O mtDefaultsDeclList$O \\r
- mtDefaultsDecl$O mtMergeItem$O \\r
- mtMergeClause$O mtMergeClauseList$O \\r
- exprNode$O exprChecks$O llmain$O \\r
- help$O rcfiles$O constraintGeneration$O \\r
- constraintTerm$O constraintExprData$O \\r
- constraintExpr$O constraint$O \\r
- constraintList$O constraintResolve$O \\r
- constraintOutput$O loopHeuristics$O snprintf$O\r
+splint_OBJECTS = $(splint_SOURCES:.c=$O)\r
\r
# Keep it fake\r
.PHONY: lcl$(EXEEXT)\r
\r
DEFS = -DHAVE_CONFIG_H\r
DEFAULT_INCLUDES = -I. -I..\r
-LDADD = $(lcl_OBJECTS) \r
\r
## Sources that need to be built\r
BUILT_SOURCES = Headers/signature_gen.h Headers/cgrammar_tokens.h \\r
@echo "Expect 141 shift/reduce conflicts and 111 reduce/reduce conflicts."\r
@echo "(see cgrammar.y for explanation)"\r
$(BISON) $(YFLAGS) cgrammar.y\r
- $(CAT) bison.head cgrammar.tab.c bison.reset | $(SED) \\r
- -e 's/YYSTYPE/cgrammar_YYSTYPE/g' -e 's/lsllex/cgrammar_lsllex/' \\r
- >cgrammar.c\r
+ $(CAT) bison.head cgrammar.tab.c bison.reset >cgrammar.c\r
$(CP) cgrammar.c cgrammar.c.der\r
-$(MV) Headers/cgrammar_tokens.h Headers/cgrammar_tokens.bak\r
- $(CAT) bison.head cgrammar.tab.h bison.reset | $(SED) \\r
- -e 's/YYSTYPE/cgrammar_YYSTYPE/g' -e 's/lsllex/cgrammar_lsllex/g' \\r
- >Headers/cgrammar_tokens.h\r
+ $(CAT) bison.head cgrammar.tab.h bison.reset >Headers/cgrammar_tokens.h\r
$(RM) cgrammar.tab.c cgrammar.tab.h\r
endif\r
\r
\r
cscanner.c: cscanner.l\r
$(FLEX) $(LFLAGS) cscanner.l \r
- $(CAT) flex.head lexyy.c flex.reset | $(SED) \\r
- -e 's/YYSTYPE/cgrammar_YYSTYPE/g' -e 's/lsllex/cgrammar_lsllex/g' \\r
- >cscanner.c\r
+ $(CAT) flex.head lexyy.c flex.reset > cscanner.c\r
\r
Headers/flag_codes.gen: flags.def\r
grep "FLG_" flags.def > Headers/flag_codes.gen\r
+ $(MAKE)\r
+ cd ../lib; $(MAKE)\r
\r
$(binDir)/splint$(EXEEXT): splint$(EXEEXT)\r
-$(RM) -f $(binDir)/splint$(EXEEXT)\r
$(CP) splint$(EXEEXT) $(binDir)/splint$(EXEEXT)\r
\r
-up: clean\r
- rm -f cgrammar.c llgrammar.c mtgrammar.c signature.c cscanner.c\r
-\r
-\r
clean: \r
-rm -f $(splint_OBJECTS) core *.core *~ \r
-\r
+ -rm -f cgrammar.c llgrammar.c mtgrammar.c signature.c cscanner.c\r
\r
CLEANFILES = splint$(EXEEXT) $(binDir)/splint$(EXEEXT)\r
\r
+snprintf$O: snprintf.c\r
+ $(CC) $(CFLAGS) $(DEFS) $(DEFAULT_INCLUDES) \\r
+ -DHAVE_STRING_H -DHAVE_STDLIB_H -DHAVE_CTYPE_H $(CPPFLAGS) -c $<\r
+\r
%$O: %.c\r
$(CC) $(CFLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(CPPFLAGS) -c $<\r
\r
-splint$(EXEEXT) : $(splint_OBJECTS) $(lcl_OBJECTS)\r
+splint$(EXEEXT) : $(splint_OBJECTS) \r
$(CC) $(OFLAG)$@ $^ $(LDFLAGS)\r
\r
list:\r