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 / Makefile < prev    next >
Makefile  |  1997-09-03  |  17KB  |  558 lines

  1. ##################################################
  2. ###                                            ###
  3. ### Makefile for LCLint testing                ###
  4. ###                                            ### 
  5. ### designed for use with gmake (GNU make)     ### 
  6. ###                                            ###
  7. ##################################################
  8.  
  9. .PHONY: all fulltest quicktest funcpointer cast abstract
  10. .PHONY:    version help abstptr abstract alias alttypes ansireserved 
  11. .PHONY: argorder args blocks break cases cast charlit 
  12. .PHONY: clauses commentchar 
  13. .PHONY: compdestroy controldepth csyntax czechnames czechoslovaknames 
  14. .PHONY: decl enum exports external fields flags funcpointer glob globals 
  15. .PHONY: impabstract init inparam internal iter keep libs lintcomments 
  16. .PHONY: list macros macrosef merge modifies modtest moduncon mongoincludes 
  17. .PHONY: null observer oldstyle outglob outparam preds prefixes printflike rc 
  18. .PHONY: refcounts release repexpose sharing slovaknames special
  19. .PHONY: specclauses stack staticarray
  20. .PHONY: strings structassign
  21. .PHONY: typequals ud ulstypes union unreachable unused 
  22. .PHONY: db1 db2 db3 tests2.2 tests2.2a
  23. .PHONY: all test fulltest expects quicktest
  24.  
  25. .SUFFIXES: .out .expect .c .lcl .h .lh .diff
  26.  
  27. SHELL = /bin/csh -f
  28.  
  29. # Command to run lclint
  30. LCLINT  = lclint
  31. LCLINTP = $(LCLINT)
  32.  
  33. # Make sure .lclintrc files are not used so test results do not
  34. # depend on local settings.
  35. LCLINTRN = $(LCLINTP) -nof -hints 
  36. LCLINTR = $(LCLINTRN) -exportlocal
  37.  
  38. UNITTESTS = help abstptr abstract alias alttypes ansireserved argorder args blocks break cases cast charlit clauses commentchar compdestroy controldepth csyntax czechnames czechoslovaknames decl enum exports external fields flags funcpointer glob globals impabstract init inparam internal iter keep libs lintcomments list macros macrosef merge modifies modtest moduncon mongoincludes null observer oldstyle outglob outparam preds prefixes printflike rc refcounts release repexpose sharing slovaknames specclauses special stack staticarray strings structassign typequals ud ulstypes union unreachable unused tests2.2 tests2.2a
  39.  
  40. UNITEXPECTS  = $(addsuffix .expect, $(UNITTESTS))
  41.  
  42. INTEGTESTS = db1 db2 db3
  43. INTEGEXPECTS  = $(addsuffix .expect, $(INTEGTESTS))
  44.  
  45. LCLINTTESTS = $(UNITTESTS) $(INTEGTESTS)
  46.  
  47. all: fulltest
  48. test: fulltest
  49.  
  50. GREP = grep
  51. DIFF = diff
  52. CLEANOUTPUT = $(GREP) -v "LCLint 2." | $(GREP) -v "make -e" | $(GREP) -v "make\[" | $(GREP) -v "lclint -nof" | $(GREP) -v "make  -e"
  53.  
  54. ### not real .c
  55.  
  56. .c.expect:
  57.     $(MAKE) -e $(*) |& $(CLEANOUTPUT) > $(*).expect ; \
  58.     cat $(*).expect
  59.  
  60. .c.diff:
  61.     $(MAKE) -e $(*) |& $(CLEANOUTPUT) > $(*).out ; \
  62.         diff $(*).expect $(*).out
  63.  
  64. expects:
  65.     echo "Saving old expects: " ; \
  66.         more *.expect | cat > expects-`date +"%y-%m-%d-%H"`
  67.     @$(foreach test, $(UNITTESTS),  \
  68.        echo "Making "$(test)".expect: " ; \
  69.            $(MAKE) -e $(test) |& $(CLEANOUTPUT) > $(test).expect ; \
  70.        cat $(test).expect ; ) 
  71.     @echo "Integration Tests"    
  72.     @$(foreach test, $(INTEGTESTS),  \
  73.        echo "Making "$(test)".expect: "; \
  74.            $(MAKE) -e $(test) |& $(CLEANOUTPUT) > $(test).expect ; \
  75.        cat $(test).expect ; ) 
  76.  
  77. fulltest:
  78.     @echo ''
  79.     @echo 'Testing '$(LCLINTP)
  80.     @echo ''
  81.     @echo 'Version:'
  82.     @echo ''
  83.     @$(LCLINTP) -help version
  84.     @$(LCLINTP) -help vars
  85.     @echo ''
  86.     @echo "Unit Tests:"
  87.     @echo ''
  88.     @$(foreach test, $(UNITTESTS),  \
  89.        echo "Checking "$(test)"... " ; \
  90.            $(MAKE) -e $(test) |& $(CLEANOUTPUT) > $(test).out ; \
  91.        $(DIFF) $(test).expect $(test).out ; \
  92.        if ($$status) echo "*** FAIL ***" ; \
  93.        ) 
  94.     @echo ''
  95.     @echo "Integration Tests"    
  96.     @echo ''
  97.     @$(foreach test, $(INTEGTESTS),  \
  98.        echo "Checking "$(test)"... "; \
  99.            $(MAKE) -e $(test) |& $(CLEANOUTPUT) > $(test).out ; \
  100.        $(DIFF) $(test).expect $(test).out ; )
  101.  
  102. quicktest: $(LCLINTTESTS)
  103.  
  104. ###
  105. ### Unit Tests
  106. ###
  107.         
  108. version:
  109.     -$(LCLINTP) -help version
  110.  
  111. help:
  112.     -@$(LCLINTP)
  113.     -@setenv LARCH_PATH "/dev/null"; $(LCLINTP) empty.lcl
  114.     -@$(LCLINTP) -help
  115.     -@$(LCLINTP) -asdf
  116.     -@$(LCLINTP) +boolint +boolint 
  117.     -@$(LCLINTP) -help flags alpha
  118.     -@$(LCLINTP) -help flags all
  119.  
  120. abstptr:
  121.     $(LCLINTR) abstptr -expect 9
  122.     $(LCLINTR) abstptr +voidabstract -expect 6
  123.  
  124. abstract:
  125.     $(LCLINTR) abst_t.lcl commentcmd.c -expect 15
  126.  
  127. alias:
  128.     $(LCLINTR) +lh mut
  129.     $(LCLINTR) mut alias +globalias -expect 19
  130.     $(LCLINTR) mut alias2 +globalias -expect 17
  131.     $(LCLINTR) +lh alias3 -expect 14 
  132.     $(LCLINTR) +lh alias4 +boolint
  133.     $(LCLINTR) alias4 -pred +retalias -expect 6
  134.     $(LCLINTR) +lh alias5 +memchecks -null -specundef -expect 5
  135.  
  136. alttypes:
  137.     $(LCLINTR) alttypes.c -expect 2
  138.  
  139. ansireserved:
  140.     $(LCLINTR) ansireserved.c +ansireserved -nolib -expect 8
  141.     $(LCLINTR) ansireserved.c +ansireserved +ansireservedlocal -nolib -expect 11
  142.     $(LCLINTRN) ansireserved.c +checks -exportlocal -exportheadervar -exportheader -expect 9
  143.  
  144. argorder:
  145.     $(LCLINTR) argorder.c -expect 4
  146.     $(LCLINTR) argorder2  -expect 5
  147.     $(LCLINTR) argorder3.c -expect 8
  148.     $(LCLINTR) argorder4 -expect 9
  149.     $(LCLINTR) argorder4 -evalorder -expect 1
  150.     $(LCLINTR) argorder5.c +evalorderuncon -expect 3
  151.  
  152. args:
  153.     $(LCLINTR) args -noeffect -expect 12
  154.  
  155. blocks:
  156.     $(LCLINTR) blocks.c -expect 4
  157.     $(LCLINTR) blocks.c +ifblock +elseifcomplete -expect 7
  158.     $(LCLINTR) blocks.c -ifempty +whileempty +whileblock -expect 3
  159.     $(LCLINTR) blocks.c -ifempty +forempty +forblock -expect 3
  160.     $(LCLINTR) blocks.c +allempty -expect 6
  161.     $(LCLINTRN) blocks.c +strict -exportlocal +partial -exportheader -expect 11
  162.  
  163. break:
  164.     $(LCLINTR) break.c -expect 4
  165.     $(LCLINTR) break.c +deepbreak -expect 6
  166.     $(LCLINTR) break.c +deepbreak -looploopbreak -expect 5
  167.  
  168. cases: 
  169.     $(LCLINTR) cases.c -expect 5
  170.     $(LCLINTR) cases2.c -expect 2
  171.     $(LCLINTRN) cases2.c +checks -exportlocal -exportheader -expect 3
  172.     $(LCLINTRN) cases2.c +checks -exportlocal -exportheader -branchstate -expect 3
  173.  
  174. cast:
  175.     $(LCLINTR) cast -accessmodule -expect 20
  176.     $(LCLINTRN) cast2.c +checks -exportlocal -exportheader -expect 3
  177.  
  178. charlit:
  179.     $(LCLINTR) +hints charlit.c -expect 4
  180.     $(LCLINTR) +hints -numliteral charlit.c -expect 5
  181.     $(LCLINTR) +hints charlit.c +charintliteral +ignoresigns
  182.  
  183. clauses: 
  184.     $(LCLINTR) clauses.c +memchecks -expect 4
  185.     $(LCLINTR) clauses2.c +memchecks 
  186.     $(LCLINTR) clauses3.c +memchecks -expect 2
  187.     $(LCLINTR) clauses3.c +memchecks +unixlib -expect 3
  188.  
  189. commentchar:
  190.     $(LCLINTR) commentchar.c -expect 4
  191.     $(LCLINTR) -commentchar '#' commentchar.c -expect 4
  192.  
  193. controldepth:
  194.     $(LCLINTR) +hints -controlnestdepth 2 controldepth.c -expect 2
  195.     $(LCLINTR) +hints -controlnestdepth 1 controldepth.c -expect 2
  196.  
  197. compdestroy:
  198.     $(LCLINTRN) compdestroy.c +checks -exportlocal -exportheader -expect 1
  199.     $(LCLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy -expect 2
  200.     $(LCLINTRN) compdestroy.c +checks -exportlocal -exportheader +strictdestroy +strictusereleased -expect 3
  201.     $(LCLINTRN) compdestroy.c +strict +partial -exportheader -expect 3
  202.  
  203. csyntax:
  204.     $(LCLINTR) +quiet -incondefs csyntax.c 
  205.     $(LCLINTR) +quiet csyntax2.c
  206.     $(LCLINTR) +quiet csyntax3.c
  207.     $(LCLINTR) +quiet -incondefs csyntax4.c
  208.     $(LCLINTR) +quiet csyntax5.c
  209.     $(LCLINTR) +quiet csyntax6.c
  210.     $(LCLINTR) +quiet csyntax7.c
  211.     $(LCLINTR) +quiet csyntax8.c
  212.     $(LCLINTR) +quiet csyntax9.c
  213.     $(LCLINTR) +quiet csyntax10.c
  214.     $(LCLINTR) +quiet csyntax11.c
  215.     $(LCLINTR) +quiet csyntax12.c
  216.     $(LCLINTR) +quiet csyntax13.c
  217.     $(LCLINTR) +quiet csyntax14.c
  218.     $(LCLINTR) +quiet csyntax15.c
  219.     $(LCLINTR) +quiet csyntax16.c
  220.     $(LCLINTR) +quiet csyntax17.c
  221.  
  222. czechnames:
  223.     $(LCLINTR) czechnames.c
  224.     $(LCLINTR) +hints +czech czechnames.c -expect 2
  225.     $(LCLINTR) +hints +czech -czechvars czechnames.c -expect 1
  226.     $(LCLINTR) +hints +czech -accessczech czechnames.c -expect 6
  227.  
  228. czechoslovaknames:
  229.     $(LCLINTR) +hints +czechoslovak czechnames.c -expect 1
  230.     $(LCLINTR) +hints +czechoslovak slovaknames.c -expect 1
  231.     $(LCLINTR) +hints +czechoslovak +slovakvars slovaknames.c -expect 2
  232.  
  233. decl:
  234.     $(LCLINTR) decl.c -expect 3
  235.     $(LCLINTRN) decl.c +strict -exportlocal -expect 6
  236.     $(LCLINTR) decl2 -expect 4
  237.  
  238. enum:
  239.     $(LCLINTR) enum -expect 16
  240.     $(LCLINTR) enum -misscase -expect 14
  241.  
  242. exports:
  243.     $(LCLINTR) exports.c +exporttype +exportvar +exportfcn +topuse +typeuse -expect 6
  244.     $(LCLINTR) exports.c +exportany -expect 3
  245.     $(LCLINTR) exports.c
  246.  
  247. external:
  248.     $(LCLINTR) external.c +partial
  249.     $(LCLINTR) external.c +partial +distinctexternalnames -expect 2
  250.     $(LCLINTR) external.c -nolib +partial -externalnamelength 3 -expect 3
  251.     $(LCLINTR) external.c -nolib +partial -externalnamelength 3 +externalnamecaseinsensitive -expect 3
  252.     $(LCLINTR) external.c +partial -externalnamelength 3 -expect 4
  253.  
  254. fields:
  255.     $(LCLINTR) fields.c +memchecks -expect 6
  256.     $(LCLINTR) fields2.c +memchecks -expect 5
  257.     $(LCLINTR) fields3.c +memchecks
  258.  
  259. flags:
  260.     $(LCLINTR) flags.c -expect 8
  261.     $(LCLINTR) +nocomments flags.c -expect 2
  262.  
  263. funcpointer:
  264.     $(LCLINTR) +memchecks +noparams funcpointer.c -expect 16
  265.  
  266. glob:
  267.     $(LCLINTR) glob -expect 4
  268.     $(LCLINTR) glob -globuse -expect 3
  269.     $(LCLINTR) glob +globunspec -expect 6
  270.  
  271. globals:
  272.     $(LCLINTR) -modifies globals.c -expect 5
  273.     $(LCLINTR) -modifies globals.c +allglobals -expect 6
  274.     $(LCLINTR) -modifies globals.c +impcheckedglobals -expect 6
  275.     $(LCLINTR) -modifies globals.c -globals -checkstrictglobals -expect 2
  276.     $(LCLINTR) -modifies globals.c +globunspec -expect 6
  277.     $(LCLINTR) -modifies globals.c +globunspec +allglobals -expect 8
  278.  
  279. impabstract:
  280.     $(LCLINTR) -accessfile impabstract.c 
  281.     $(LCLINTR) -accessfile +hints +impabstract impabstract.c -expect 2
  282.     $(LCLINTR) -accessfile +hints +impabstract impabstract -expect 2
  283.  
  284. init:
  285.     $(LCLINTR) init.c -expect 12
  286.     $(LCLINTRN) init.c +checks -exportlocal -exportheadervar -expect 15
  287.  
  288. inparam:
  289.     $(LCLINTR) inparam.c -expect 2
  290.     $(LCLINTR) +impouts inparam.c -expect 1
  291.  
  292. internal:
  293.     $(LCLINTR) internal.c -expect 1
  294.     $(LCLINTR) internal.c +distinctinternalnames -expect 2
  295.     $(LCLINTR) internal.c -internalnamelen 28 -expect 3
  296.     $(LCLINTR) internal.c +internalnamecaseinsensitive -expect 3
  297.     $(LCLINTR) internal.c +internalnamecaseinsensitive +internalnamelookalike -expect 11
  298.  
  299. iter:
  300.     $(LCLINTR) iter -expect 14 -lclexpect 1
  301.     $(LCLINTR) iter2.c -expect 12
  302.  
  303. keep:
  304.     $(LCLINTR) keep.c +memchecks -expect 6
  305.  
  306. libs:
  307.     $(LCLINTR) libs.c +longunsignedunsignedintegral -expect 13
  308.     $(LCLINTR) libs.c -expect 17
  309.     $(LCLINTR) libs.c +globunspec +modunspec -expect 20
  310.     $(LCLINTR) libs.c +strictlib +globunspec +modunspec -expect 37
  311.  
  312. lintcomments:
  313.     $(LCLINTR) lintcomments.c -expect 4
  314.     $(LCLINTR) lintcomments.c -warnlintcomments -expect 1
  315.     $(LCLINTR) lintcomments.c -lintcomments -expect 4
  316.  
  317. list:
  318.     $(LCLINTR) list.c -expect 3
  319.  
  320. macros:
  321.     $(LCLINTR) macros -expect 17 
  322.     $(LCLINTR) macros.c +allmacros -expect 34
  323.     $(LCLINTR) macros.c +fcnmacros -expect 31
  324.  
  325.  
  326. macrosef:
  327.     $(LCLINTR) macrosef -expect 4
  328.     $(LCLINTR) macrosef.c +allmacros -expect 3
  329.     $(LCLINTR) macrosef.c +allmacros +sefuncon -expect 4
  330.  
  331. merge:
  332.     $(LCLINTRN) merge.c +checks -exportlocal -exportheadervar -exportheader -expect 3
  333.  
  334. modifies:
  335.     $(LCLINTR) modifies.c modclient.c +impcheckedstatics +mustmod -expect 7
  336.  
  337. modtest:
  338.     $(LCLINTR) modtest -expect 10
  339.     $(LCLINTR) modtest +modunspec -expect 13
  340.     $(LCLINTR) modtest +mustmod -expect 14
  341.  
  342. moduncon:
  343.     $(LCLINTR) moduncon.c +moduncon -memchecks -expect 4
  344.     $(LCLINTRN) moduncon.c +strict -exportlocal -expect 22
  345.  
  346. mongoincludes:
  347.     $(LCLINTR) mongoincludes.c -includenest 1 -expect 19
  348.     $(LCLINTR) mongoincludes.c -includenest 2 -expect 10
  349.     $(LCLINTR) mongoincludes.c -includenest 3 -expect 4
  350.     $(LCLINTR) mongoincludes.c -includenest 4 -expect 1
  351.     $(LCLINTR) mongoincludes.c -includenest 5 -expect 0
  352.  
  353. null: 
  354.     $(LCLINTR) null1.c -expect 14
  355.     $(LCLINTR) null1.c -null -expect 4
  356.     $(LCLINTR) null2.c -expect 10
  357.     $(LCLINTR) null3.c -expect 15
  358.     $(LCLINTR) null3.c -warnunixlib +unixlib -expect 16
  359.     $(LCLINTR) null4.c -expect 1
  360.     $(LCLINTR) null5.c -expect 4
  361.     $(LCLINTR) null6 -expect 4
  362.     $(LCLINTR) +quiet null6.lcl -dump null6
  363.     $(LCLINTR) null6.c -load null6 -expect 4
  364.  
  365. observer:
  366.     $(LCLINTRN) observer +checks -exportlocal -exportheader -expect 10
  367.     $(LCLINTRN) observer.c +checks -exportlocal -exportheader -expect 9
  368.     $(LCLINTR) observer.c -expect 8
  369.  
  370. oldstyle:
  371.     $(LCLINTR) oldstyle -expect 3
  372.  
  373. outglob:
  374.     $(LCLINTR) outglob -expect 10
  375.  
  376. outparam:
  377.     $(LCLINTR) outparam -expect 12
  378.  
  379. preds:
  380.     $(LCLINTR) +hints preds.c -expect 6
  381.     $(LCLINTRN) +hints preds.c -weak -expect 1
  382.     $(LCLINTRN) +hints preds.c -strict -exportlocal -exportheader -expect 8
  383.  
  384. prefixes:
  385.     $(LCLINTR) prefixes.c +partial
  386.     $(LCLINTRN) prefixes.c +allmacros +checks -exportlocal +partial -exportheader -exportheadervar -expect 4
  387.     $(LCLINTR) prefixes.c -typeprefix "T" -expect 2
  388.     $(LCLINTR) prefixes.c -typeprefix "^" -expect 1
  389.     $(LCLINTR) prefixes.c -typeprefix "^*" -expect 2
  390.     $(LCLINTR) prefixes.c -typeprefix "^%*" -expect 2
  391.     $(LCLINTR) prefixes.c -typeprefix "^~*" -expect 2
  392.     $(LCLINTR) prefixes.c -typeprefix "^" +typeprefixexclude -expect 7
  393.     $(LCLINTR) prefixes.c -filestaticprefix "^^" -expect 4
  394.     $(LCLINTR) prefixes.c -filestaticprefix "^#" -expect 5
  395.     $(LCLINTR) prefixes.c -filestaticprefix "^?&x" -expect 5
  396.     $(LCLINTR) prefixes.c -globalprefix "G" -expect 1
  397.     $(LCLINTR) prefixes.c -globalprefix "&G?_^" -expect 1
  398.     $(LCLINTR) prefixes.c -externalprefix "G" -expect 5
  399.     $(LCLINTR) prefixes.c -typeprefix "T" -externalprefix "G" -expect 4
  400.     $(LCLINTR) prefixes.c -localprefix "?*" +localprefixexclude -expect 13
  401.  
  402. printflike:
  403.     $(LCLINTR) printflike.c -expect 6
  404.     $(LCLINTR) printflike.c -warnlintcomments -expect 5
  405.  
  406. rc:
  407.     -$(LCLINTR) -DMYSTERY='"a flag\"wicked cool"' rc.c -expect 1
  408.     -$(LCLINTR) -DMYSTERY=12 rc.c -expect 1
  409.     -$(LCLINTR) -f rc1.lclintrc rc.c
  410.     -$(LCLINTR) -UMYSTERY -f rc1.lclintrc rc.c -expect 1
  411.     -$(LCLINTR) -f rc3.lclintrc rc.c -expect 1
  412.  
  413. refcounts:
  414.     $(LCLINTR) refcounts.c -expect 7 
  415.  
  416. release:
  417.     $(LCLINTR) release.c +memchecks -expect 1
  418.  
  419. repexpose:
  420.     $(LCLINTR) +lh repexpose +memchecks -expect 12
  421.     $(LCLINTR) repexpose +memchecks +retalias -expect 15
  422.     $(LCLINTRN) repexpose +checks -exportlocal -expect 27
  423.  
  424. sharing: 
  425.     $(LCLINTR) sharing1.c -expect 24
  426.     $(LCLINTR) sharing3.c -expect  3
  427.     $(LCLINTR) sharing4.c -expect 13
  428.     $(LCLINTR) sharing4.c -paramimptemp -expect 11
  429.     $(LCLINTR) sharing5.c -expect 6
  430.  
  431. slovaknames:
  432.     $(LCLINTR) +hints slovaknames.c -expect 1
  433.     $(LCLINTR) +hints slovaknames.c +accessslovak 
  434.     $(LCLINTR) +hints +slovak slovaknames.c -expect 3
  435.     $(LCLINTR) +hints +slovak -slovakvars slovaknames.c -expect 2
  436.     $(LCLINTR) +hints +slovak -accessslovak slovaknames.c -expect 7
  437.  
  438. specclauses:
  439.     $(LCLINTR) specclauses.c -expect 5
  440.     $(LCLINTR) specclauses2.c -expect 8
  441.     $(LCLINTR) specclauses3.c -expect 6
  442.     $(LCLINTR) specclauses4.c -expect 3
  443.     $(LCLINTR) specclauses5.c -expect 3
  444.  
  445. special:
  446.     $(LCLINTR) special -expect 20
  447.     $(LCLINTR) special -relaxquals -expect 22
  448.  
  449. stack:
  450.     $(LCLINTR) stack.c -expect 5
  451.     $(LCLINTR) stack.c -stackref
  452.  
  453. staticarray:
  454.     $(LCLINTR) staticarray.c -expect 3
  455.  
  456. strings:
  457.     $(LCLINTR) strings.c -expect 3
  458.     $(LCLINTR) -readonlystrings -expect 1 strings.c
  459.     $(LCLINTR) +modobserverstrict -maintype -expect 4 strings.c
  460.  
  461. structassign:
  462.     $(LCLINTR) structassign.c -expect 4
  463.  
  464. typequals:
  465.     $(LCLINTR) typequals.c tq.lcl -expect 5
  466.     $(LCLINTR) typequals.c -expect 2
  467.  
  468. ud:
  469.     $(LCLINTR) ud.c -expect 9
  470.     $(LCLINTR) ud2 -specundef -expect 3
  471.  
  472. ulstypes:
  473.     $(LCLINTR) ulstypes.c -expect 8
  474.     $(LCLINTR) ulstypes.c +ignorequals 
  475.     $(LCLINTRN) ulstypes.c +strict -exportheader -exportheadervar -expect 25
  476.  
  477. union:
  478.     $(LCLINTR) +memchecks union.c -expect 8
  479.  
  480. unreachable:
  481.     $(LCLINTR) unreachable.c -expect 6
  482.     $(LCLINTR) -unreachable unreachable.c -expect 2
  483.     $(LCLINTR) switch.c -expect 4
  484.  
  485. unused:
  486.     $(LCLINTRN) unused.c +checks -exportlocal -expect 3
  487.     $(LCLINTRN) unused.c +checks -exportlocal +topuse -expect 6
  488.  
  489. ###
  490. ### Bugs fixed and new features since version 2.1b
  491. ###
  492.  
  493. tests2.2:
  494.     @cd tests2.2 ; \
  495.     $(LCLINTR) boolops.c -expect 1 ; \
  496.         $(LCLINTR) booldef.c -expect 1 ; \
  497.     $(LCLINTR) boolenum.c -booltype BOOLEAN -expect 1 ; \
  498.         $(LCLINTR) break.c -expect 1 ; \
  499.         $(LCLINTR) bstring.c -expect 2 ; \
  500.         $(LCLINTR) decl.c -expect 1 ; \
  501.         $(LCLINTR) enumbool.c -expect 2 ; \
  502.         $(LCLINTR) enumbool.c -booltrue "true" -boolfalse "false" ; \
  503.     $(LCLINTR) +gnuextensions extension.c ; \
  504.     $(LCLINTR) extension.c ; \
  505.     $(LCLINTR) modarray.c ; \
  506.     $(LCLINTR) nestext.c -expect 1 ; \
  507.     $(LCLINTR) offsetof.c ; \
  508.     $(LCLINTR) sizeofarray.c -expect 3 ; \
  509.     $(LCLINTR) rex.c -expect 1 ; \
  510.     $(LCLINTR) struct.c -expect 1
  511.  
  512. tests2.2a:
  513.     @cd tests2.2a ; \
  514.     $(LCLINT) erik.c -expect 1 ; \
  515.     $(LCLINT) boolcomp.c -expect 5 ; \
  516.     $(LCLINT) boolenum.c ; \
  517.     $(LCLINT) addassign.c -expect 1; \
  518.     $(LCLINT) toralf.c -expect 5 ; \
  519.     $(LCLINT) fred.c -booltype Bool ; \
  520.     $(LCLINT) sizeof.c ; \
  521.     $(LCLINT) arrayparam.c -expect 5 ; \
  522.     $(LCLINT) notreached.c ; \
  523.     $(LCLINT) duff.c -casebreak ; \
  524.     $(LCLINT) obviousloop.c -expect 4 ; \
  525.     $(LCLINT) bitops.c +bitwisesigned -expect 11 ; \
  526.     $(LCLINT) bitops.c -expect 6 ; \
  527.     $(LCLINT) isalpha.c +strictlib -expect 1 ; \
  528.     $(LCLINT) isalpha.c ; \
  529.     $(LCLINT) dobb.c ; \
  530.     $(LCLINT) popik.c -expect 11
  531.  
  532. ###
  533. ### Integration Tests
  534. ###
  535.  
  536. db1:
  537.     setenv LCLINT '$(LCLINTRN)'; cd db1; $(MAKE) -e test
  538.  
  539. db2:
  540.     setenv LCLINT '$(LCLINTRN)'; cd db2; $(MAKE) -e test
  541.  
  542. db3:
  543.     setenv LCLINT '$(LCLINTRN)'; cd db3; $(MAKE) -e test
  544.  
  545. ###
  546. ### More integration tests are used locally.  If you are developing 
  547. ### LCLint send mail to evs@larch.lcs.mit.edu to obtain extra 
  548. ### integration test cases.
  549.  
  550. clean:
  551.     -rm -f *~ #*# *.o *.lcs a.out 
  552.     -cd db1 ; $(MAKE) clean
  553.     -cd db2 ; $(MAKE) clean
  554.     -cd db3 ; $(MAKE) clean
  555.  
  556.  
  557.  
  558.