1### 2### Splint db2 test 3### 4### Taken from sample, fifth iteration: memchecks1 5### 6 7.SUFFIXES: .lcl .lcs .lh .h .c .o 8.PHONY: check clean 9 10### SHELL = /bin/csh -f 11 12SPLINT = splint -booltype "bool" -booltrue TRUE -boolfalse FALSE 13LCL = $(SPLINT) -specundef +lh +quiet -nof 14SPLINTLH = $(SPLINT) +lh 15LCSFILES = dbase.lcs employee.lcs empset.lcs erc.lcs eref.lcs ereftab.lcs 16 17MODULES = employee eref empset ereftab erc dbase drive.c 18OBJS = dbase.o employee.o empset.o erc.o eref.o ereftab.o 19 20test: 21 $(MAKE) -e clean 22 $(MAKE) -e check 23 24check: $(LCSFILES) 25 -$(SPLINT) -exportlocal -showcol -allimponly -macrovarprefixexclude $(MODULES) -bufferoverflowhigh -expect 15 26 -$(SPLINT) -exportlocal -showcol +allimponly $(MODULES) -bufferoverflowhigh -expect 25 27 -$(SPLINT) -exportlocal -showcol -memchecks -macrovarprefixexclude -bufferoverflowhigh $(MODULES) 28 29# evans 2002-07-09: added bufferoverflowhigh flags to suppress sprintf warnings 30 31### The following rules generate .lh and .lcs files from .lcl files. They also 32### ensure that .h files appear to be updated whenever the corresponding .lh 33### file is updated. 34 35.lcl.lh: 36 $(LCL) $*.lcl 37 38.lcl.lcs: 39 $(LCL) $*.lcl 40 41.lh.h: 42 touch $*.h 43 44.c.o: 45 $(GCC) -c $*.c 46 47### 48### Clean removes junk and all derived files. 49### Tidy removes junk and object and executable files. 50### 51 52clean: tidy 53 -@rm -f *.c.html *.lcl.html *.h.html *.lh.html *.lcs *.lh 1> /dev/null 54 55tidy: 56 -@rm -f ,* .,* *.CKP *.BAK .emacs_[0-9]* core a.out *.*~ *~ *.o drive 1> /dev/null 57 58### The following dependencies ensure that imported LCL specs 59### are checked before the specs that import them. 60 61dbase.lcs: employee.lcs empset.lcs 62empset.lcs: employee.lcs 63erc.lcs: eref.lcs 64eref.lcl: employee.lcs 65ereftab.lcs: employee.lcs eref.lcs 66 67### The following dependencies ensure that a .o file is recompiled when the 68### corresponding .c file, or one of the .h files it #includes, is changed. 69 70dbase.o: dbase.c bool.h dbase.h employee.h empset.h 71drive.o: drive.c bool.h dbase.h employee.h empset.h erc.h eref.h ereftab.h 72employee.o: employee.c employee.h 73empset.o: empset.c bool.h empset.h erc.h eref.h employee.h employee.h 74erc.o: erc.c bool.h erc.h eref.h employee.h 75eref.o: eref.c eref.h employee.h 76ereftab.o: ereftab.c bool.h ereftab.h erc.h eref.h employee.h 77