###
### This Makefile produces the figures included in the Splint Manual.
###
.SUFFIXES: .out .expect .c .lcl .h .lh .diff
.PHONY: clean
SPLINT = splint
SPLINTFLAGS = -warnflags -nof -linelen 55 -hints -showcol -booltype bool -showfunc -exportlocal -exportheader
RUNTOHTML = cat
# /u/evs/lclint/scripts/runtohtmls
GENHTML = /u/evs/lclint/scripts/genhtmls
CTOHTML = /u/evs/bin/ctohtmlplain
BASEDIR = /u/evs/perl/basedir
MAKERUNNER = /u/evs/lclint/scripts/makerunner
### SHELL = /bin/csh
DIFF = diff
all: sample null mstring usedef bool palindrome only stack rstring unique \
exposure modify globals annotglobs clauses order loop switch noeffect \
ignore setChar multiError bounds
### In line example
.PHONY: sample
sample: sample.c
$(SPLINT) $(SPLINTFLAGS) sample.c -expect 2
### Figure 2:
.PHONY: null
null: null.c
$(SPLINT) $(SPLINTFLAGS) null.c -expect 1
### Figure 3:
.PHONY: mstring
mstring: mstring.c
$(SPLINT) $(SPLINTFLAGS) mstring.c -expect 0
### Figure 4:
.PHONY: usedef
usedef: usedef.c
$(SPLINT) $(SPLINTFLAGS) usedef.c -expect 3
$(SPLINT) $(SPLINTFLAGS) usedef.c +impouts -expect 2
### Figure 5:
.PHONY: bool
bool: bool.c bool.h
$(SPLINT) $(SPLINTFLAGS) bool.c +predboolptr -booltype bool -linelen 70 -expect 7
### Figure 6:
.PHONY: palindrome
palindrome: palindrome.c mstring.h bool.h
$(SPLINT) $(SPLINTFLAGS) palindrome.c -expect 4 -linelen 45
### Figure 7:
.PHONY: only
only: only.c
$(SPLINT) $(SPLINTFLAGS) only.c -expect 6
### Figure 8:
.PHONY: stack
stack: stack.c
$(SPLINT) $(SPLINTFLAGS) stack.c -expect 3
### Figure 9:
### no code
### Figure 10:
.PHONY: rstring
rstring: rstring.c
$(SPLINT) $(SPLINTFLAGS) rstring.c -expect 1
### Figure 11:
.PHONY: unique
unique: unique.c
$(SPLINT) $(SPLINTFLAGS) unique.c -expect 1
### Figure 12:
.PHONY: returned
returned: returned.c
$(SPLINT) $(SPLINTFLAGS) returned.c -expect 1
### Figure 13:
.PHONY: exposure
exposure: exposure.c
$(SPLINT) $(SPLINTFLAGS) exposure.c -expect 4 +checks -exportlocal -exportheader -linelen 50
### Figure 14:
.PHONY: modify
modify: modify.c
$(SPLINT) +checks $(SPLINTFLAGS) modify.c -expect 2
### Figure 15:
.PHONY: globals
globals: globals.c
$(SPLINT) +checks $(SPLINTFLAGS) globals.c -expect 2
### Figure 16:
.PHONY: annotglobals
annotglobs: annotglobs.c
$(SPLINT) $(SPLINTFLAGS) annotglobs.c -expect 3
### Figure 17:
.PHONY: clauses
clauses: clauses.c
$(SPLINT) $(SPLINTFLAGS) clauses.c -expect 0
### Figure 18:
.PHONY: order
order: order.c
$(SPLINT) $(SPLINTFLAGS) order.c +evalorderuncon -expect 4 -linelen 60
$(SPLINT) $(SPLINTFLAGS) order.c -expect 3
### Figure 19:
.PHONY: loop
loop: loop.c
$(SPLINT) $(SPLINTFLAGS) loop.c +infloopsuncon -expect 2
$(SPLINT) $(SPLINTFLAGS) loop.c -expect 1
### Figure 20:
.PHONY: switch
switch: switch.c
$(SPLINT) $(SPLINTFLAGS) switch.c -expect 2
### Figure 21:
.PHONY: noeffect
noeffect: noeffect.c
$(SPLINT) $(SPLINTFLAGS) noeffect.c +noeffectuncon -expect 3
$(SPLINT) $(SPLINTFLAGS) noeffect.c -expect 2
### Figure 22:
.PHONY: ignore
ignore: ignore.c
$(SPLINT) $(SPLINTFLAGS) bool.h ignore.c -expect 2
$(SPLINT) $(SPLINTFLAGS) bool.h ignore.c -retvalbool -expect 1
$(SPLINT) $(SPLINTFLAGS) bool.h ignore.c -retvalint -expect 1
### Figure 23:
.PHONY: Anames
names: names.c
$(SPLINT) $(SPLINTFLAGS) names.c +distinctinternalnames +internalnamelookalike +isoreserved -expect 3
### Figure ???:
.PHONY: setChar
setChar: setChar.c
$(SPLINT) $(SPLINTFLAGS) setChar.c +bounds -exportlocal +showconstraintlocation -expect 1
.PHONY: multiError
multiError: multiError.c
$(SPLINT) $(SPLINTFLAGS) multiError.c +bounds -exportlocal +showconstraintlocation -expect 1
.PHONY: bounds
bounds: bounds.c
$(SPLINT) $(SPLINTFLAGS) bounds.c +bounds -exportlocal +showconstraintlocation -expect 1 -linelen 50
clean:
-rm -f core a.out *.*~
syntax highlighted by Code2HTML, v. 0.9.1