X-Git-Url: http://andersk.mit.edu/gitweb/splint.git/blobdiff_plain/e5f31c003fe6a778d1224c8a778f750a1a9ebb3d..11db3170da99e22aa0acea76debd6c7b590a629c:/src/Makefile.in diff --git a/src/Makefile.in b/src/Makefile.in index 37fcb46..52958d9 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -64,7 +64,6 @@ CAT = @CAT@ CC = @CC@ CP = @CP@ CPP = @CPP@ -CXX = @CXX@ DEPDIR = @DEPDIR@ DIFF = @DIFF@ EXEEXT = @EXEEXT@ @@ -86,15 +85,15 @@ AUTOMAKE_OPTIONS = 1.5 foreign SUFFIXES = .h .c .o .l .check -# Check files before compiling; requires lclint! +# Check files before compiling; requires splint! CHECK = 1 # Some preferences YFLAGS = -v -t -d --debug -EXTRA_DIST = DATE +BISON_SRC = cgrammar.y llgrammar.y mtgrammar.y signature.y -bin_PROGRAMS = lclint +bin_PROGRAMS = splint EXTRA_PROGRAMS = lcl @@ -118,7 +117,7 @@ CSRC = uentry.c cprim.c macrocache.c qual.c qtype.c stateClause.c \ metaStateExpression.c metaStateSpecifier.c functionConstraint.c -LCLINTSRC = exprNode.c exprChecks.c llmain.c +SPLINTSRC = exprNode.c exprChecks.c llmain.c CHECKSRC = structNames.c transferChecks.c varKinds.c nameChecks.c GLOBSRC = context.c globals.c flags.c general.c osd.c reader.c @@ -172,38 +171,197 @@ LCLLISTSRC = initDeclNodeList.c sortList.c declaratorInvNodeList.c \ replaceNodeList.c importNodeList.c +HEADERSRC = Headers/abstBodyNode.h Headers/ltokenList.h \ + Headers/abstract.h Headers/macrocache.h \ + Headers/abstractNode.h Headers/mapping.h \ + Headers/message.h \ + Headers/aliasStack.h Headers/messageLog.h \ + Headers/aliasTable.h Headers/metaStateConstraint.h \ + Headers/annotationInfo.h Headers/metaStateConstraintList.h \ + Headers/annotationTable.h Headers/metaStateExpression.h \ + Headers/arrayQualNode.h Headers/metaStateInfo.h \ + Headers/basic.h Headers/metaStateSpecifier.h \ + Headers/bool.h Headers/metaStateTable.h \ + Headers/boolStack.h Headers/misc.h \ + Headers/cgrammar.h Headers/modifiesClause.h \ + Headers/cgrammar_tokens.h Headers/modifyNode.h \ + Headers/checking.h Headers/mtAnnotationDecl.h \ + Headers/clabstract.h Headers/mtAnnotationList.h \ + Headers/claimNode.h Headers/mtAnnotationsNode.h \ + Headers/clause.h Headers/mtContextNode.h \ + Headers/clauseStack.h Headers/mtDeclarationNode.h \ + Headers/code.h Headers/mtDeclarationPiece.h \ + Headers/constants.h Headers/mtDeclarationPieces.h \ + Headers/constDeclarationNode.h Headers/mtDefaultsDecl.h \ + Headers/constraintExprData.h Headers/mtDefaultsDeclList.h \ + Headers/constraintExpr.h Headers/mtDefaultsNode.h \ + Headers/constraint.h Headers/mtgrammar.h \ + Headers/constraintList2.h Headers/mtgrammar.tab.h \ + Headers/constraintList.h Headers/mtgrammar_tokens.h \ + Headers/constraintOutput.h Headers/mtincludes.h \ + Headers/constraintResolve.h Headers/mtLoseReference.h \ + Headers/constraintTerm.h Headers/mtLoseReferenceList.h \ + Headers/context.h Headers/mtMergeClause.h \ + Headers/cpperror.h Headers/mtMergeClauseList.h \ + Headers/cppexp.h Headers/mtMergeItem.h \ + Headers/cpp.h Headers/mtMergeNode.h \ + Headers/cpphash.h Headers/mtreader.h \ + Headers/cpplib.h Headers/mtscanner.h \ + Headers/cprim.h Headers/mttok.h \ + Headers/cscanner.h Headers/mtTransferAction.h \ + Headers/cstring.h Headers/mtTransferClause.h \ + Headers/cstringList.h Headers/mtTransferClauseList.h \ + Headers/cstringSList.h Headers/mtValuesNode.h \ + Headers/cstringTable.h Headers/multiVal.h \ + Headers/ctokens.h Headers/nameChecks.h \ + Headers/ctypeList.h Headers/nameNode.h \ + Headers/CTypesNode.h Headers/opFormNode.h \ + Headers/cvar.h Headers/osd.h \ + Headers/declaratorInvNode.h Headers/pairNode.h \ + Headers/declaratorInvNodeList.h Headers/pairNodeList.h \ + Headers/declaratorNode.h Headers/paramNode.h \ + Headers/declaratorNodeList.h Headers/paramNodeList.h \ + Headers/dmalloc.h Headers/portab.h \ + Headers/ekind.h Headers/pp.h \ + Headers/enumNameList.h Headers/privateNode.h \ + Headers/enumNameSList.h Headers/programNode.h \ + Headers/enumSpecNode.h Headers/programNodeList.h \ + Headers/exportNode.h Headers/qtype.h \ + Headers/exposedNode.h Headers/qual.h \ + Headers/exprChecks.h Headers/qualList.h \ + Headers/exprData.h Headers/quantifiedTermNode.h \ + Headers/exprNode.h Headers/quantifierNode.h \ + Headers/exprNodeList.h Headers/quantifierNodeList.h \ + Headers/exprNodeSList.h Headers/randomNumbers.h \ + Headers/fcnNode.h Headers/rangeTable.h \ + Headers/fcnNodeList.h Headers/reader.h \ + Headers/fileId.h Headers/refTable-branch.h \ + Headers/fileIdList.h Headers/renamingNode.h \ + Headers/fileLib.h Headers/replaceNode.h \ + Headers/fileloc.h Headers/replaceNodeList.h \ + Headers/filelocList.h Headers/scan.h \ + Headers/filelocStack.h Headers/scanline.h \ + Headers/fileTable.h Headers/sgrammar_tokens.h \ + Headers/flag_codes.h Headers/sHerald.h \ + Headers/flagMarker.h Headers/shift.h \ + Headers/flagMarkerList.h Headers/signature2.h \ + Headers/flags.h Headers/signature_gen.h \ + Headers/flagSpec.h Headers/signature.h \ + Headers/forwardTypes.h Headers/signNode.h \ + Headers/functionClause.h Headers/sigNode.h \ + Headers/functionClauseList.h Headers/sigNodeSet.h \ + Headers/functionConstraint.h Headers/sort.h \ + Headers/general.h Headers/sortList.h \ + Headers/genericTable.h Headers/sortSet.h \ + Headers/globalList.h Headers/sortSetList.h \ + Headers/globalsClause.h Headers/source.h \ + Headers/globals.h Headers/specialClauses.h \ + Headers/globSet.h Headers/sRef.h \ + Headers/gram.h Headers/sRefList.h \ + Headers/guardSet.h Headers/sRefSet.h \ + Headers/handle.h Headers/sRefSetList.h \ + Headers/hashTable.h Headers/sRefSetStack.h \ + Headers/idDecl.h Headers/sRefTable.h \ + Headers/idDeclList.h Headers/stateClause.h \ + Headers/importNode.h Headers/stateClauseList.h \ + Headers/importNodeList.h Headers/stateCombinationTable.h \ + Headers/imports.h Headers/stateInfo.h \ + Headers/initDeclNode.h Headers/stateValue.h \ + Headers/initDeclNodeList.h Headers/stDeclNode.h \ + Headers/inputStream.h Headers/stDeclNodeList.h \ + Headers/interfaceNode.h Headers/stmtNode.h \ + Headers/interfaceNodeList.h Headers/storeRefNode.h \ + Headers/intSet.h Headers/storeRefNodeList.h \ + Headers/intTable.h Headers/strOrUnionNode.h \ + Headers/iterNode.h Headers/structNames.h \ + Headers/lcl_constants.h Headers/symtable.h \ + Headers/lclctypes.h Headers/syntable.h \ + Headers/lclForwardTypes.h Headers/system_constants.h \ + Headers/lclinit.h Headers/taggedUnionNode.h \ + Headers/lcllib.h Headers/termNode.h \ + Headers/lclMisc.h Headers/termNodeList.h \ + Headers/lclPredicateNode.h Headers/tmpname.h \ + Headers/lclscan.h Headers/tokentable.h \ + Headers/lclscanline.h Headers/traitRefNode.h \ + Headers/lclsyntable.h Headers/traitRefNodeList.h \ + Headers/lcltokentable.h Headers/transferChecks.h \ + Headers/lclTypeSpecNode.h Headers/typeExpr.h \ + Headers/lctype.h Headers/typeIdSet.h \ + Headers/letDeclNode.h Headers/typeNameNode.h \ + Headers/letDeclNodeList.h Headers/typeNameNodeList.h \ + Headers/lh.h Headers/typeNamePack.h \ + Headers/limwr.h Headers/typeNode.h \ + Headers/llbasic.h Headers/uentry.h \ + Headers/llerror.h Headers/uentryList.h \ + Headers/llglobals.h Headers/usymId.h \ + Headers/llgrammar2.h Headers/usymIdSet.h \ + Headers/llgrammar_gen2.h Headers/usymtab-branch.h \ + Headers/llgrammar_gen.h Headers/usymtab.h \ + Headers/llgrammar.h Headers/usymtab_interface.h \ + Headers/llmain.h Headers/valueMatrix.h \ + Headers/lltok.h Headers/valueTable.h \ + Headers/lslinit.h Headers/varDeclarationNode.h \ + Headers/lslOp.h Headers/varDeclarationNodeList.h \ + Headers/lslOpList.h Headers/varKinds.h \ + Headers/lslOpSet.h Headers/varNode.h \ + Headers/lslparse.h Headers/varNodeList.h \ + Headers/lsymbol.h Headers/version.h \ + Headers/lsymbolList.h Headers/warnClause.h \ + Headers/lsymbolSet.h Headers/ynm.h \ + Headers/ltoken.h Headers/splintMacros.nf + + +IFILES = ctbase.i cttable.i exprDataQuite.i + +EXTRA_DIST = DATE $(BISON_SRC) bison.head bison.reset $(HEADERSRC) \ + flags.def cscanner.l flex.head flex.reset $(IFILES) \ + Headers/256_random_numbers.nf Headers/splintMacros.nf Headers/reservedNames.nf + + +#Files that are used on systems that do not have bison or yacc +DER_BISON_FILES = signature.c.der cgrammar.c.der mtgrammar.c.der \ + llgrammar.c.der + +DER_FILES = $(DER_BISON_FILES) + COMMONSRC = $(OVERFLOWCHSRC) $(CPPSRC) $(CSRC) $(CHECKSRC) $(GENERALSRC) \ $(GLOBSRC) $(IFACESRC) $(LISTSRC) $(SETSRC) $(METASTATESRC) -ALLSRC = $(GRAMSRC) $(COMMONSRC) $(LCLINTSRC) +ALLSRC = $(GRAMSRC) $(COMMONSRC) $(SPLINTSRC) $(DER_FILES) $(HEADERSRC) + +#files to run Splint on +LINTSRC = $(GRAMSRC) $(COMMONSRC) $(SPLINTSRC) + +#ALLSRC = $(COMMONSRC) $(SPLINTSRC) $(DER_FILES) $(HEADERSRC) LCLSRC = $(LCLSETSRC) $(LCLLISTSRC) $(LSLSRC) $(CMNSRC) $(LCLONLYSRC) \ $(LCLGRAMSRC) lcl_SOURCES = $(LCLSRC) -lclint_SOURCES = $(ALLSRC) -lclint_LDADD = $(LCLOBJ) @LEXLIB@ +splint_SOURCES = $(ALLSRC) +splint_LDADD = $(LCLOBJ) @LEXLIB@ # Ensure the LCL objects get built if needed -lclint_DEPENDENCIES = $(LCLOBJ) +splint_DEPENDENCIES = $(LCLOBJ) BUILT_SOURCES = Headers/signature_gen.h Headers/cgrammar_tokens.h \ Headers/llgrammar_gen.h Headers/llgrammar_gen2.h \ Headers/mtgrammar_tokens.h signature.c cgrammar.c \ - llgrammar.c mtgrammar.c Headers/flag_codes.gen + llgrammar.c mtgrammar.c Headers/flag_codes.gen \ + $(DER_FILES) -CHECKS = $(subst .c,.check,$(lclint_SOURCES)) -CLEANFILES = lclint$(EXEEXT) +CHECKS = $(subst .c,.check,$(splint_SOURCES)) +CLEANFILES = splint$(EXEEXT) subdir = src mkinstalldirs = $(SHELL) $(top_srcdir)/config/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = EXTRA_PROGRAMS = lcl$(EXEEXT) -bin_PROGRAMS = lclint$(EXEEXT) +bin_PROGRAMS = splint$(EXEEXT) PROGRAMS = $(bin_PROGRAMS) am_lcl_OBJECTS = lsymbolSet.$(OBJEXT) sigNodeSet.$(OBJEXT) \ @@ -233,7 +391,7 @@ lcl_OBJECTS = $(am_lcl_OBJECTS) lcl_LDADD = $(LDADD) lcl_DEPENDENCIES = lcl_LDFLAGS = -am_lclint_OBJECTS = cgrammar.$(OBJEXT) cscanner.$(OBJEXT) \ +am_splint_OBJECTS = cgrammar.$(OBJEXT) cscanner.$(OBJEXT) \ mtscanner.$(OBJEXT) mtreader.$(OBJEXT) mtgrammar.$(OBJEXT) \ constraintGeneration.$(OBJEXT) constraintTerm.$(OBJEXT) \ constraintExprData.$(OBJEXT) constraintExpr.$(OBJEXT) \ @@ -286,8 +444,8 @@ am_lclint_OBJECTS = cgrammar.$(OBJEXT) cscanner.$(OBJEXT) \ mtDefaultsDecl.$(OBJEXT) mtMergeItem.$(OBJEXT) \ mtMergeClause.$(OBJEXT) mtMergeClauseList.$(OBJEXT) \ exprNode.$(OBJEXT) exprChecks.$(OBJEXT) llmain.$(OBJEXT) -lclint_OBJECTS = $(am_lclint_OBJECTS) -lclint_LDFLAGS = +splint_OBJECTS = $(am_splint_OBJECTS) +splint_LDFLAGS = DEFS = @DEFS@ DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) @@ -417,9 +575,9 @@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ CCLD = $(CC) LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ CFLAGS = @CFLAGS@ -DIST_SOURCES = $(lcl_SOURCES) $(lclint_SOURCES) +DIST_SOURCES = $(lcl_SOURCES) $(splint_SOURCES) DIST_COMMON = Makefile.am Makefile.in -SOURCES = $(lcl_SOURCES) $(lclint_SOURCES) +SOURCES = $(lcl_SOURCES) $(splint_SOURCES) all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am @@ -456,9 +614,9 @@ uninstall-binPROGRAMS: clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) -lclint$(EXEEXT): $(lclint_OBJECTS) $(lclint_DEPENDENCIES) - @rm -f lclint$(EXEEXT) - $(LINK) $(lclint_LDFLAGS) $(lclint_OBJECTS) $(lclint_LDADD) $(LIBS) +splint$(EXEEXT): $(splint_OBJECTS) $(splint_DEPENDENCIES) + @rm -f splint$(EXEEXT) + $(LINK) $(splint_LDFLAGS) $(splint_OBJECTS) $(splint_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) core *.core @@ -704,6 +862,7 @@ top_distdir = .. distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) distdir: $(DISTFILES) + $(mkinstalldirs) $(distdir)/Headers @for file in $(DISTFILES); do \ if test -f $$file; then d=.; else d=$(srcdir); fi; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ @@ -812,6 +971,7 @@ Headers/signature_gen.h signature.c: signature.c.der signature.y else \ $(BISON) $(YFLAGS) -p lsl signature.y; \ $(CAT) bison.head signature.tab.c bison.reset >signature.c; \ + $(CP) signature.c signature.c.der; \ -$(MV) Headers/signature_gen.h Headers/signature_gen.bak; \ $(CAT) bison.head signature.tab.h bison.reset >Headers/signature_gen.h; \ $(RM) signature.tab.c signature.tab.h; \ @@ -825,6 +985,7 @@ Headers/cgrammar_tokens.h cgrammar.c: cgrammar.c.der cgrammar.y echo '* (see cgrammar.y for explanation)'; \ $(BISON) $(YFLAGS) cgrammar.y; \ $(CAT) bison.head cgrammar.tab.c bison.reset >cgrammar.c; \ + $(CP) cgrammar.c cgrammar.c.der; \ -$(MV) Headers/cgrammar_tokens.h Headers/cgrammar_tokens.bak; \ $(CAT) bison.head cgrammar.tab.h bison.reset >Headers/cgrammar_tokens.h; \ $(RM) cgrammar.tab.c cgrammar.tab.h; \ @@ -849,6 +1010,7 @@ Headers/llgrammar_gen.h Headers/llgrammar_gen2.h llgrammar.c: llgrammar.c.der ll echo '* Expect 2 shift/reduce conflicts'; \ $(BISON) $(YFLAGS) -p yl llgrammar.y; \ $(CAT) bison.head llgrammar.tab.c bison.reset >llgrammar.c; \ + $(CP) llgrammar.c llgrammar.c.der; \ -$(MV) Headers/llgrammar_gen2.h Headers/llgrammar_gen2.bak; \ $(CAT) bison.head llgrammar.tab.h bison.reset >Headers/llgrammar_gen2.h; \ 0$(MV) Headers/llgrammar_gen.h Headers/llgrammar_gen.bak; \ @@ -877,20 +1039,16 @@ etags: maketags lintnew: - ./lclint -f lclint.lclintrc $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(ALLSRC) $(LCLSRC) -dump lclint \ + ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(LINTSRC) $(LCLSRC) -dump lclint \ +forcehints -misplacedsharequal +showsourceloc -unrecogcomments \ -supcounts -fcnuse -exportlocal -constuse -mts file -mts filerw lintbuffercheck: - ./lclint -f lclint.lclintrc $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(ALLSRC) $(LCLSRC) -dump lclint \ + ./splint $(DEFAULT_INCLUDES) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) +singleinclude $(LINTSRC) $(LCLSRC) -dump lclint \ +forcehints -misplacedsharequal +showsourceloc -unrecogcomments \ - -supcounts -fcnuse -exportlocal -constuse -mts file -mts filerw +arraybounds - -.PHONY: purify -purify: $(lclint_OBJECTS) - purify $(LINK) -o lclint$(EXEEXT) $^ $(lclint_LDADD) + -supcounts -fcnuse -exportlocal -constuse -mts file -mts filerw +arraybounds +arrayboundsread +implictconstraint -all: lclint$(EXEEXT) +all: splint$(EXEEXT) # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: