home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / fchk294s.zip / ftnchek-2.9.4 / makefile.unix < prev    next >
Makefile  |  1996-02-11  |  16KB  |  479 lines

  1. #=======================================================================
  2. # UNIX version of Makefile for Fortran program checker
  3. #
  4. #  WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING!
  5. #     This makefile is no longer being maintained.  To customize
  6. #     for your system, edit Makefile.in instead, and run configure.
  7. #     This makefile is here only for convenience in case configure
  8. #     gives trouble or cannot be used.  This makefile works
  9. #     for ftnchek v2.9, but will not be updated for later versions.
  10. #
  11. # Current target list:
  12. #    TAGS
  13. #    all            build ftnchek and its documentation files
  14. #    blurb.txt
  15. #    check            run validation test suite
  16. #    clean            remove unnecessary intermediate files
  17. #    clobber            make clean, and remove ftnchek executable
  18. #    dcl2inc.doc        ASCII form of documentation
  19. #    dcl2inc.ps        PostScript form of documentation
  20. #    distclean        remove everything that can be rebuilt
  21. #    docs            documentation files
  22. #    fortran.c        translate yacc code to C
  23. #    ftnchek            ftnchek executable program
  24. #    ftnchek.1        UNIX manual page document
  25. #    ftnchek.doc        ASCII form of documentation
  26. #    ftnchek.hlp        VAX/VMS HELP library source
  27. #    ftnchek.ps        PostScript form of documentation
  28. #    install            install ftnchek and dcl2inc and their man pages
  29. #    install-exe        install ftnchek and dcl2inc executables
  30. #    install-man        install only man pages
  31. #    install-man-sgi        install only man pages on SGI systems
  32. #    lint            run lint on source code
  33. #    mostlyclean        same as clean
  34. #    prog            same as ftnchek
  35. #    realclean        same as clobber
  36. #    spotless        make distclean, then remove formatted
  37. #                documentation (do NOT do this if you don't
  38. #                have groff or nroff/troff to recreate the
  39. #                documentation!)
  40. #    TAGS            emacs editor tags file
  41. #    tags            ex and vi editor tags file
  42. #    uninstall        undo an ftnchek installation
  43. #
  44. # Object file targets:
  45. #    ftnchek.o
  46. #    exprtype.o
  47. #    forlex.o
  48. #    fortran.o
  49. #    pgsymtab.o
  50. #    plsymtab.o
  51. #    project.o
  52. #    symtab.o
  53. #
  54. # Machine-specific convenience targets:
  55. #    DEC-ALPHA        DEC Alpha OSF/1 and OpenVMS
  56. #    DJGPP            IBM PC/DOS djgpp compiler
  57. #    GENERIC            most UNIX systems
  58. #    HP            HP 9000/7xx HP-UX 9.x
  59. #    IBM-RS6000        IBM RS/6000-xxx AIX 3.2
  60. #    LINUX            Linux on 386
  61. #    LINUX-486        Linux on 486 and up
  62. #    MIPS-MIPS        MIPS RC6280 RISCos 2.1.1
  63. #    SGI            Silicon Graphics IRIX 4.x and 5.x
  64. #    SGI-INSTALL        SGI special install for man page
  65. #    SOLARIS2.x        Sun Solaris 2.x
  66. #    SOLARIS2.x-gcc        Sun Solaris 2.x with GNU gcc
  67. #    SOLARIS2.x-apcc        Sun Solaris 2.x with Apogee apcc
  68. #    STARDENT        Stardent 15xx OS 2.2
  69. #    SUNOS5.x        Sun SunOS 5.x (same as Solaris 2.x)
  70. #    SUNOS5.x-gcc        Sun SunOS 5.x (same as Solaris 2.x) with
  71. #                GNU gcc
  72. #    SUNOS5.x-apcc        Sun SunOS 5.x (same as Solaris 2.x)
  73. #                with Apogee apcc
  74. #    SUNOS4.0        Sun SunOS 4.0
  75. #    SUNOS4.1        Sun SunOS 4.1
  76. #    ULTRIX-MIPS        DECstation ULTRIX 4.x
  77. #    UNIX            most UNIX systems
  78. #
  79. # For each of these machine-specific targets, you can modify what is
  80. # built by defining a value for TARGETS on the make command line
  81. # (default: ftnchek).
  82. #
  83. #
  84. #    Copyright (C) 1991 by Robert K. Moniot.
  85. #    This program is free software.  Permission is granted to
  86. #    modify it and/or redistribute it, retaining this notice.
  87. #    No guarantees accompany this software.
  88. #
  89. # Acknowledgements and thanks to Nelson H. F. Beebe of the University
  90. # of Utah for improvements to this Makefile.
  91. # [25-Apr-1994]
  92. #=======================================================================
  93.  
  94. # These definitions should be customized for your local conventions
  95. # if you want to do "make install" or "make uninstall"
  96. BINDIR          = /usr/local/bin
  97. LIBDIR        = /usr/local/lib/ftnchek
  98. MANDIR          = /usr/local/man
  99. #NROFF        = groff # if you have groff, but not nroff
  100. NROFF        = nroff
  101. #STRIP           = echo >/dev/null # if your system lacks strip
  102. STRIP           = strip
  103. # The following is only used for targets ftnchek.doc and ftnchek.hlp
  104. # which are not needed for unix platforms.  It removes control chars
  105. # and converts tabs to blanks.
  106. #COL        = /usr/5bin/col -bx    # For BSD-like systems
  107. COL        = col -bx        # For System V-like systems
  108.  
  109. # Editor tags file support
  110. CTAGS        = ctags
  111. CTAGSFLAGS    = -t
  112. ETAGS        = etags
  113.  
  114. # For "make check", we need new awk, either AT&T nawk or GNU gawk.
  115. # However, IBM RS/6000 AIX calls it awk.
  116. #NAWK        = awk
  117. #NAWK        = gawk
  118. NAWK        = nawk
  119.  
  120. # These system utilities should be standard on all UNIX systems
  121. CHMOD        = /bin/chmod
  122. CP              = /bin/cp
  123. MKDIR        = /bin/mkdir
  124. MV              = /bin/mv
  125. RM              = /bin/rm -f
  126. RMDIR        = /bin/rmdir
  127. SED        = /bin/sed
  128. SHELL        = /bin/sh
  129. TR        = /usr/ucb/tr
  130.  
  131. FTNCHEK        = ./ftnchek
  132. MAN2PS        = ./man2ps
  133.  
  134. # YACC          =parser name, YSTEM=stem on tab.c, tab.h
  135. # for yacc as the parser
  136. YACC            = yacc
  137. YSTEM           = y
  138.  
  139. # for GNU bison as the parser
  140. #YACC           = bison
  141. #YSTEM          = fortran
  142.  
  143. # OPTIONS is used to define various characteristics.  Most commonly
  144. # needed ones are given below; uncomment whichever you like.
  145. # See ftnchek.h for others, with their defaults and explanations.
  146.  
  147. #  To use the defaults for everything uncomment this:
  148. OPTIONS         =
  149.  
  150. #  To make all table sizes 10x bigger than defaults uncomment this:
  151. #OPTIONS        = -DLARGE_MACHINE
  152.  
  153. #  To allow the -vcg option uncomment this:
  154. #OPTIONS    = -DVCG_SUPPORT
  155.  
  156. #  To prohibit underscores in variable names, inline comments
  157. #   starting with '!',  the DO ... ENDDO loop forms and INCLUDE statements:
  158. #OPTIONS        = -DSTRICT_SYNTAX
  159.  
  160. # CFLAGS is used to define the operating system and options
  161. # Other
  162. CFLAGS          = -DUNIX $(OPTIONS) -O -D_BSD
  163. LDFLAGS         =
  164. YFLAGS          = -d
  165.  
  166. # fortran.o first because of possible remake if tokdefs.h changes (see below)
  167. OBJS            = fortran.o exprtype.o forlex.o ftnchek.o \
  168.           pgsymtab.o plsymtab.o project.o symtab.o
  169.  
  170. SRCS            = exprtype.c forlex.c fortran.c ftnchek.c \
  171.           ftnchek.h intrins.h iokeywds.h keywords.h newarge.c \
  172.           newargh.c newcome.c newcomh.c pgsymtab.c plsymtab.c \
  173.           project.c shell_mung.c symtab.c symtab.h tokdefs.h \
  174.           y.tab.h
  175.  
  176. #=======================================================================
  177.  
  178. prog:    ftnchek
  179.  
  180. all:    ftnchek docs
  181.  
  182. check:
  183.     cd test; $(MAKE) NAWK="$(NAWK)" -i -s check
  184.  
  185. lint:
  186.     lint $(LINTFLAGS) $(OBJS:.o=.c) -lm
  187.  
  188. # Remove intermediate files that are not required after the program is
  189. # built.
  190. clean mostlyclean:
  191.     -$(RM) *.o
  192.     -$(RM) \#*
  193.     -$(RM) a.out
  194.     -$(RM) *~
  195.     -$(RM) core
  196.  
  197. # Remove almost everything that make can rebuild
  198. clobber realclean:    clean
  199.     -$(RM) fortran.c
  200.     -$(RM) ftnchek
  201.  
  202. # dcl2inc.doc is ascii text form of documentation.  It should not matter
  203. # whether dcl2inc.1 or dcl2inc.man is used here.
  204. dcl2inc.doc:    dcl2inc.man
  205.     $(NROFF) -man dcl2inc.man | $(COL) >dcl2inc.doc
  206.  
  207. dcl2inc.ps:    dcl2inc.man
  208.     $(MAN2PS) <dcl2inc.man >dcl2inc.ps
  209.  
  210. # Remove everything that make can rebuild, preparatory to making a
  211. # distribution version.  We intentionally do NOT remove .ps and .doc
  212. # files, because some UNIX systems lack nroff/troff/groff.
  213. distclean:    realclean
  214.     -$(RM) *.dcl
  215.     -$(RM) cscope.out
  216.     -$(RM) tags
  217.     -$(RM) TAGS
  218.     -$(RM) ftnchek.1
  219.  
  220. docs:    blurb.txt dcl2inc.doc dcl2inc.ps ftnchek.doc \
  221.     ftnchek.hlp ftnchek.ps
  222.  
  223. ftnchek: $(OBJS)
  224.     $(CC) $(CFLAGS) $(LDFLAGS) -o ftnchek $(OBJS) -lm
  225.  
  226. # Documentation targets: If you make changes to the documentation,
  227. # you should edit only ftnchek.man and then re-make these targets.
  228. # If ftnchek.1 fails to make, ftnchek.man is usable directly except
  229. # that some troff-like processors may not give satisfactory results.
  230. #
  231. # Following sed script trims out the if-else machinery contained in
  232. # ftnchek.man to produce a clean nroff document.  The lines of the
  233. # script correspond to the following actions:
  234. #    1. remove text between lines of form ``.if \nh \{'' or .ie \nh \{''
  235. #       and lines of form ``\}'' (these are the help-related additions)
  236. #    2. remove lines of form ``.if !\nh \{''  (these preface man text)
  237. #       Also remove ``.if !\nb \{'' which are for blurb.
  238. #    3. remove lines of form ``.el \{''  (start of the else sections of
  239. #       the .if's of step 1)
  240. #    4. remove lines of form ``\}'' (closures of step 3 lines)
  241. #    5. remove lines of form ``.ie \nh text'' (one-liner help text)
  242. #    6. change lines of form ``.el \nh text'' to ``text'' (these are
  243. #       one-liner man text)
  244. #    7. change lines of form ``.if !\nh text'' to ``text'' (ditto)
  245. ftnchek.1:    ftnchek.man
  246.     $(SED) -e '/^\.i[fe] \\nh \\{/,/^\\}$$/d' \
  247.         -e '/^\.if !\\n[bh] \\{/d' \
  248.         -e '/^\.el \\{/d' \
  249.         -e '/^\\}/d' \
  250.         -e '/^\.i[fe] \\nh /d' \
  251.         -e 's/^\.el *\(.*\)$$/\1/' \
  252.         -e 's/^\.if !\\nh *\(.*\)$$/\1/' \
  253.          < ftnchek.man > ftnchek.1
  254.  
  255. # ftnchek.doc is ascii text form of documentation.  It should not matter
  256. # whether ftnchek.1 or ftnchek.man is used here.
  257. ftnchek.doc:    ftnchek.man
  258.     $(NROFF) -man ftnchek.man | $(COL) >ftnchek.doc
  259.  
  260. # ftnchek.ps is PostScript form of documentation.
  261. ftnchek.ps:    ftnchek.man
  262.     @make ftnchek.1
  263.     $(MAN2PS) <ftnchek.1 >ftnchek.ps
  264.  
  265. # blurb.txt is an ascii file for informational mailings.
  266. blurb.txt:    ftnchek.man
  267.     $(NROFF) -man -rb1 ftnchek.man | $(COL) >blurb.txt
  268.  
  269. # ftnchek.hlp is a VMS HELP library source document:
  270. # create ftnchek.hlb with $ LIBR/CREATE/HELP FTNCHEK.HLB FTNCHEK.HLP
  271. # The leading and trailing newlines in ftnchek.hlp should be removed.
  272. ftnchek.hlp:    ftnchek.man
  273.     $(SED) -e '1d' ftnchek.man | \
  274.     $(NROFF) -man -rh1 | $(COL) | \
  275.     $(SED) -e 's/^-\([a-zA-Z][a-zA-Z]*\)/\/\1/' \
  276.         -e 's/\([^a-zA-Z]\)-\([a-zA-Z][a-zA-Z]*\)/\1\/\2/g' \
  277.     >ftnchek.hlp
  278.  
  279. #
  280. # N.B. tokdefs.h is copy of y.tab.h used to avoid remaking stuff when
  281. # grammar changes but not tokens.
  282. # The following copies y.tab.h to tokdefs.h if changed, then aborts make,
  283. # since dependencies may have changed.
  284. fortran.c: fortran.y
  285.     $(YACC) $(YFLAGS) fortran.y
  286.     $(MV) $(YSTEM).tab.c fortran.c
  287.     @if cmp -s $(YSTEM).tab.h tokdefs.h ; then true ; else \
  288.         echo; echo tokdefs.h changed -- repeat make ; \
  289.         $(CP) $(YSTEM).tab.h tokdefs.h; \
  290.         false ; \
  291.     fi
  292.  
  293. # Install program and documentation on system.  Obsolete fcl2vcg script
  294. # & doc is removed if present.
  295. install:    install-exe install-man
  296.  
  297. install-exe:    ftnchek
  298.     $(CP) ftnchek $(BINDIR)
  299.     -$(STRIP) $(BINDIR)/ftnchek
  300.     $(CHMOD) 755 $(BINDIR)/ftnchek
  301.     -$(MKDIR) $(LIBDIR)
  302.     $(CP) dcl2inc.awk $(LIBDIR)/dcl2inc.awk
  303.     $(CHMOD) 644 $(LIBDIR)/dcl2inc.awk
  304.     $(SED) -e 's@^LIBDIR=.*$$@LIBDIR=$(LIBDIR)@' -e 's/nawk/$(NAWK)/' \
  305.         <dcl2inc.sh >$(BINDIR)/dcl2inc
  306.     $(CHMOD) 755 $(BINDIR)/dcl2inc
  307.     -$(RM) $(BINDIR)/fcl2vcg
  308.  
  309.  
  310. # Install man pages, taking care to remove old formatted ones, because
  311. # many man implentations fail to compare time stamps of raw and
  312. # formatted files, and will show out-of-date formatted files.
  313. install-man: ftnchek.1
  314.     $(CP) dcl2inc.man $(MANDIR)/man1/dcl2inc.1
  315.     -$(RM) $(MANDIR)/cat1/dcl2inc.1
  316.     $(CHMOD) 644 $(MANDIR)/man1/dcl2inc.1
  317.     $(CP) ftnchek.1 $(MANDIR)/man1/ftnchek.1
  318.     -$(RM) $(MANDIR)/cat1/ftnchek.1
  319.     $(CHMOD) 644 $(MANDIR)/man1/ftnchek.1
  320.     -$(RM) $(MANDIR)/man1/fcl2vcg.1
  321.     -$(RM) $(MANDIR)/cat1/fcl2vcg.1
  322.  
  323. # Remove everything that the install target installed.
  324. uninstall:
  325.     -$(RM) $(BINDIR)/dcl2inc
  326.     -$(RM) $(BINDIR)/ftnchek
  327.     -$(RM) $(LIBDIR)/dcl2inc.awk
  328.     -$(RM) $(MANDIR)/cat1/dcl2inc.1
  329.     -$(RM) $(MANDIR)/cat1/ftnchek.1
  330.     -$(RM) $(MANDIR)/ftnchek.z    # SGI
  331.     -$(RM) $(MANDIR)/man1/dcl2inc.1
  332.     -$(RM) $(MANDIR)/man1/ftnchek.1
  333.     -$(RMDIR) $(LIBDIR)
  334.  
  335. # WARNING: do NOT execute this target, unless you have nroff/troff or groff
  336. # to recreate the formatted documentation files.
  337. spotless:    distclean
  338.     $(RM) blurb.txt
  339.     $(RM) dcl2inc.doc
  340.     $(RM) dcl2inc.ps
  341.     $(RM) ftnchek.doc
  342.     $(RM) ftnchek.hlp
  343.     $(RM) ftnchek.ps
  344.  
  345. # ex and vi editor tags file
  346. tags:    $(SRCS)
  347.     $(CTAGS) $(CTAGSFLAGS) *.[ch]
  348.  
  349. # emacs editor tags file
  350. TAGS:    $(SRCS)
  351.     $(ETAGS) *.[ch]
  352.  
  353. #=======================================================================
  354. # Object file dependencies on include files
  355.  
  356. ftnchek.o:    ftnchek.h
  357.  
  358. exprtype.o:    ftnchek.h symtab.h tokdefs.h
  359.  
  360. forlex.o:    ftnchek.h keywords.h symtab.h tokdefs.h
  361.  
  362. fortran.o:    ftnchek.h symtab.h fortran.c
  363.  
  364. pgsymtab.o:    ftnchek.h symtab.h
  365.  
  366. plsymtab.o:    ftnchek.h symtab.h
  367.  
  368. project.o:    ftnchek.h symtab.h
  369.  
  370. symtab.o:    ftnchek.h iokeywds.h intrins.h symtab.h tokdefs.h
  371.  
  372. #=======================================================================
  373. # Machine specific targets to build ftnchek with suitable compile options.
  374. # Use 'MAKE_OPTIONS= "YACC=/usr/local/gnu/bin/bison" "YSTEM=fortran"'
  375. # to select GNU bison parser, if you have touched fortran.y.
  376.  
  377. TARGETS        = ftnchek
  378.  
  379. # On DEC Alpha systems, compilers default to fast non-IEEE-754-conformant
  380. # arithmetic that is incapable of handling denormalized numbers,
  381. # Infinity, and NaN.  ftnchek can die on at least test/complex.f if IEEE
  382. # 754 behavior is not restored with -ieee_with_inexact.  The -Olimit
  383. # value increases the optimizer table sizes.
  384. DEC-ALPHA:
  385.     $(MAKE) "CFLAGS= -DUNIX -DLARGE_MACHINE $(OPTIONS) -O -D_BSD" \
  386.         "CC = c89 -ieee_with_inexact -Olimit 1000" $(MAKE_OPTIONS) \
  387.         $(TARGETS)
  388.  
  389. # target for djgpp on IBM PC by Judah Milgram, U. Maryand College Park
  390. DJGPP:
  391.     $(MAKE) 'CFLAGS= $(OPTIONS) -DLARGE_MACHINE -O' \
  392.     $(MAKE_OPTIONS) $(TARGETS)
  393.     coff2exe ftnchek
  394.     del ftnchek
  395.  
  396. GENERIC LINUX STARDENT UNIX:
  397.     $(MAKE) "CFLAGS= -DUNIX -DLARGE_MACHINE $(OPTIONS) -O -D_BSD" \
  398.         $(MAKE_OPTIONS) $(TARGETS)
  399.  
  400. # Add compiler flag to eliminate optimizer table overflow
  401. HP:
  402.     $(MAKE) "CFLAGS= -DUNIX -DLARGE_MACHINE $(OPTIONS) -O -D_BSD +Obb700" \
  403.         $(MAKE_OPTIONS) $(TARGETS)
  404.  
  405. IBM-RS6000:
  406.     $(MAKE) "CFLAGS= -DUNIX -DLARGE_MACHINE $(OPTIONS) \
  407.         -DAIXC -DRAND_NO_ARG -O -D_BSD" \
  408.         "CC = c89 -D_POSIX_SOURCE" $(MAKE_OPTIONS) \
  409.         $(TARGETS)
  410.  
  411. LINUX-486:
  412.     $(MAKE) "CFLAGS= -DUNIX -DLARGE_MACHINE $(OPTIONS) -O -D_BSD -m486" \
  413.         $(MAKE_OPTIONS) $(TARGETS)
  414.  
  415. # MIPS RC6280 (and other models) RISCos 2.1.1AC (and EP/IX)
  416. MIPS-MIPS:
  417.     $(MAKE) "CFLAGS= -DUNIX $(OPTIONS) -DLARGE_MACHINE -O -D_BSD -Olimit 1000 -systype bsd43" \
  418.         $(MAKE_OPTIONS) $(TARGETS)
  419.  
  420. # SGI target improved by Mark Hanning-Lee of JPL.  Use -O2 for full
  421. # optimization.  4.0.x users can even use -O3, but 5.2 complains about
  422. # using -O3 with the -c option.
  423. # Warning: do not split this quoted string across a line boundary; SGI
  424. # IRIX 4.0.x make incorrectly preserves the newline, causing
  425. # compilation commands to fail.  Irix 5.x make handles the newline OK.
  426.  
  427. SGIFLAGS="CFLAGS= -DUNIX -DLARGE_MACHINE $(OPTIONS) -DVMS_IO -DVMS_TAB -O2 -D_BSD"
  428. SGI:
  429.     $(MAKE) $(SGIFLAGS) $(MAKE_OPTIONS) $(TARGETS)
  430.  
  431. # IRIX uses pre-formatted, packed man pages and nroff is not bundled with it.
  432. # Only execute this target if your IRIX has nroff.
  433. SGI-INSTALL: install-exe install-man-sgi
  434.  
  435. install-man-sgi:
  436.     $(NROFF) -man dcl2inc.man > dcl2inc.cat ; \
  437.     if pack dcl2inc.cat ; \
  438.     then \
  439.         $(MV) dcl2inc.cat.z $(MANDIR)/dcl2inc.z ; \
  440.         $(CHMOD) 644 $(MANDIR)/dcl2inc.z ; \
  441.     fi
  442.     $(NROFF) -man ftnchek.man > ftnchek.cat ; \
  443.     if pack ftnchek.cat ; \
  444.     then \
  445.         $(MV) ftnchek.cat.z $(MANDIR)/ftnchek.z ; \
  446.         $(CHMOD) 644 $(MANDIR)/ftnchek.z ; \
  447.     fi
  448.     -$(RM) $(MANDIR)/fcl2vcg.z
  449.  
  450.  
  451. SOLARIS2.x SUNOS5.x:
  452.     $(MAKE) "CFLAGS= -DUNIX -DLARGE_MACHINE $(OPTIONS) -xO4 -D_BSD" \
  453.         $(MAKE_OPTIONS) $(TARGETS)
  454.  
  455. SOLARIS2.x-gcc SUNOS5.x-gcc:
  456.     $(MAKE) "CFLAGS= -DUNIX -DLARGE_MACHINE $(OPTIONS) -O2 -D_BSD" \
  457.         $(MAKE_OPTIONS) CC=gcc $(TARGETS)
  458.  
  459. SOLARIS2.x-apcc SUNOS5.x-apcc:
  460.     $(MAKE) "CFLAGS= -DUNIX -DLARGE_MACHINE $(OPTIONS) -O5 -D_BSD" \
  461.         $(MAKE_OPTIONS) CC=apcc $(TARGETS)
  462.  
  463. SUNOS4.0:
  464.     $(MAKE) \
  465.     "CFLAGS= -DUNIX -DLARGE_MACHINE -DNO_PROTOTYPES $(OPTIONS) -O -D_BSD" \
  466.         $(MAKE_OPTIONS) $(TARGETS)
  467.  
  468. # NB: ftnchek 2.8 fails with -O4 on SunOS 4.1.3, but -O3 is okay
  469. # The failure occurs from bad code generation for forlex.c with cc
  470. # version RELEASE SC1.0 1Mar1991 (from "showrev cc").
  471. SUNOS4.1:
  472.     $(MAKE) \
  473.     "CFLAGS= -DUNIX -DLARGE_MACHINE -DNO_PROTOTYPES $(OPTIONS) -O3 -D_BSD" \
  474.         $(MAKE_OPTIONS) $(TARGETS)
  475.  
  476. ULTRIX-MIPS:
  477.     $(MAKE) "CFLAGS= -DUNIX $(OPTIONS) -DLARGE_MACHINE -Olimit 2000 -O -D_BSD"\
  478.         $(MAKE_OPTIONS) $(TARGETS)
  479.