### ### Splint db2 test ### ### Taken from sample, fifth iteration: memchecks1 ### .SUFFIXES: .lcl .lcs .lh .h .c .o .PHONY: check clean ### SHELL = /bin/csh -f SPLINT = splint -booltype "bool" -booltrue TRUE -boolfalse FALSE LCL = $(SPLINT) -specundef +lh +quiet -nof SPLINTLH = $(SPLINT) +lh LCSFILES = dbase.lcs employee.lcs empset.lcs erc.lcs eref.lcs ereftab.lcs MODULES = employee eref empset ereftab erc dbase drive.c OBJS = dbase.o employee.o empset.o erc.o eref.o ereftab.o test: @$(MAKE) -e clean @$(MAKE) -e check check: $(LCSFILES) -$(SPLINT) -exportlocal -showcol -allimponly -macrovarprefixexclude $(MODULES) -bufferoverflowhigh -expect 15 -$(SPLINT) -exportlocal -showcol +allimponly $(MODULES) -bufferoverflowhigh -expect 25 -$(SPLINT) -exportlocal -showcol -memchecks -macrovarprefixexclude -bufferoverflowhigh $(MODULES) # evans 2002-07-09: added bufferoverflowhigh flags to suppress sprintf warnings ### The following rules generate .lh and .lcs files from .lcl files. They also ### ensure that .h files appear to be updated whenever the corresponding .lh ### file is updated. .lcl.lh: $(LCL) $*.lcl .lcl.lcs: $(LCL) $*.lcl .lh.h: touch $*.h .c.o: $(GCC) -c $*.c ### ### Clean removes junk and all derived files. ### Tidy removes junk and object and executable files. ### clean: tidy -@rm -f *.c.html *.lcl.html *.h.html *.lh.html *.lcs *.lh 1> /dev/null tidy: -@rm -f ,* .,* *.CKP *.BAK .emacs_[0-9]* core a.out *.*~ *~ *.o drive 1> /dev/null ### The following dependencies ensure that imported LCL specs ### are checked before the specs that import them. dbase.lcs: employee.lcs empset.lcs empset.lcs: employee.lcs erc.lcs: eref.lcs eref.lcl: employee.lcs ereftab.lcs: employee.lcs eref.lcs ### The following dependencies ensure that a .o file is recompiled when the ### corresponding .c file, or one of the .h files it #includes, is changed. dbase.o: dbase.c bool.h dbase.h employee.h empset.h drive.o: drive.c bool.h dbase.h employee.h empset.h erc.h eref.h ereftab.h employee.o: employee.c employee.h empset.o: empset.c bool.h empset.h erc.h eref.h employee.h employee.h erc.o: erc.c bool.h erc.h eref.h employee.h eref.o: eref.c eref.h employee.h ereftab.o: ereftab.c bool.h ereftab.h erc.h eref.h employee.h