home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / lclint.zip / lclint-2_3h-os2-bin.zip / test / db3 / Makefile < prev    next >
Makefile  |  1997-09-03  |  2KB  |  80 lines

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