home *** CD-ROM | disk | FTP | other *** search
/ OpenStep (Enterprise) / OpenStepENTCD.toast / OEDEV / GNUSRC.Z / next-specs.h < prev    next >
C/C++ Source or Header  |  1996-08-27  |  16KB  |  331 lines

  1. #ifdef NEXT_PDO
  2.   {".c", "@objective-c"},
  3.   {".m", "@objective-c"},
  4.   {"@objective-c",
  5.    "cpp %{.m:-lang-objc %BCompiling} %{ObjC:-lang-objc} %{fobjc:-lang-objc}\
  6.     %{!.m:%{!ObjC:%{!fobjc:-lang-c}} %BCompiling}\
  7.         %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %I\
  8.     %{C:%{!E:%eGNU C does not support -C without using -E}}\
  9.     %{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d}\
  10.         -undef -D__GNUC__=%v1 -D__GNUC_MINOR__=%v2\
  11.     %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
  12.     %{!undef:%{!ansi:%p} %P} %{trigraphs} \
  13.         %c %{O*:%{!O0:-D__OPTIMIZE__}} %{traditional} %{ftraditional:-traditional}\
  14.         %{traditional-cpp:-traditional}\
  15.     %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %{F*} %C %{D*} %{U*} %{i*}\
  16.         %i %{!M:%{!MM:%{!E:%{!precomp:%{!pipe:%g.i}}}}}\
  17.     %{E:%W{o*}}%{M:%W{o*}}%{MM:%W{o*}}\
  18.     %{precomp:%{@:-o %f%g-%T.p}%{!@:%W{o}%W{!o:-o %b.p }} } |\n",
  19.    "%{!M:%{!MM:%{!E:cc1obj %{!pipe:%g.i} %1\
  20.            %{arch:} %{.m:-fobjc} %{ObjC:-fobjc}\
  21.            %{!Q:-quiet} -dumpbase %b.%{.m:m}%{!.m:c} %{d*} %{m*} %{a}\
  22.            %{g*} %{O}%{O1}%{O2}%{O3}%{O4}%{O5}%{O6}\
  23.            %{W*} %{w} %{pedantic*} %{ansi} \
  24.            %{traditional} %{v:-version} %{pg:-p} %{p} %{f*}\
  25.            %{aux-info*}\
  26.            %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
  27.            %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\
  28.               %{!S:as %{R} %{j} %{J} %{h} %{d2} %a %Y\
  29.               %{c:%W{o*}%{!o*:-o %w%b.o}}%{!c:-o %d%w%u.o}\
  30.                       %{!pipe:%g.s} %A\n }}}}"},
  31.   {"-",
  32.    "%{E:cpp -lang-c %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %I\
  33.     %{C:%{!E:%eGNU C does not support -C without using -E}}\
  34.     %{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d}\
  35.         -undef %{ObjC:-D__OBJC__} %{fobjc:-D__OBJC__}\
  36.     -D__GNUC__=%v1 -D__GNUC_MINOR__=%v2\
  37.     %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
  38.     %{!undef:%{!ansi:%p} %P} %{trigraphs}\
  39.         %c %{O*:%{!O0:-D__OPTIMIZE__}} %{traditional} %{ftraditional:-traditional}\
  40.         %{traditional-cpp:-traditional}\
  41.     %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %{F*} %C %{D*} %{U*} %{i*}\
  42.         %i %W{o*}}\
  43.     %{!E:%e-E required when input is from standard input}"},
  44.   {".h", "@c-header"},
  45.   {"@c-header",
  46.    "%{!E:%eCompilation of header file requested}\
  47.     cpp %{fno-objc:-lang-c}%{!fno-objc:-lang-objc} \
  48.     %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %I\
  49.     %{C:%{!E:%eGNU C does not support -C without using -E}}\
  50.      %{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} \
  51.         -undef -D__GNUC__=%v1 -D__GNUC_MINOR__=%v2\
  52.      %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
  53.     %{!undef:%{!ansi:%p} %P} %{trigraphs}\
  54.         %c %{O*:%{!O0:-D__OPTIMIZE__}} %{traditional} %{ftraditional:-traditional}\
  55.         %{traditional-cpp:-traditional}\
  56.     %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %{F*} %C %{D*} %{U*} %{i*}\
  57.         %i %W{o*}"},
  58. #undef NEXT_SPEC
  59. #define NEXT_SPEC(lang_flag,compiler_name) \
  60.    "cpp %{.M:%BCompiling}%{!.M:%BCompiling} " # lang_flag "\
  61.         %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %I\
  62.     %{C:%{!E:%eGNU C++ does not support -C without using -E}}\
  63.     %{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} \
  64.     -undef -D__GNUC__=%v1 -D__GNUG__=%v1 -D__cplusplus -D__GNUC_MINOR__=%v2\
  65.     %{ansi:-trigraphs -$ -D__STRICT_ANSI__} %{!undef:%{!ansi:%p} %P}\
  66.     %c %{O:-D__OPTIMIZE__} %{O1:-D__OPTIMIZE__} %{O2:-D__OPTIMIZE__}\
  67.     %{O3:-D__OPTIMIZE__} %{O4:-D__OPTIMIZE__} %{O5:-D__OPTIMIZE__}\
  68.     %{O6:-D__OPTIMIZE__} %{traditional} %{ftraditional:-traditional}\
  69.         %{traditional-cpp:-traditional} %{trigraphs}\
  70.     %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %{F*} %C %{D*} %{U*} %{i*}\
  71.         %i %{!M:%{!MM:%{!E:%{!pipe:%g.i}}}}%{E:%W{o*}}%{M:%W{o*}}%{MM:%W{o*}} |\n",\
  72.    "%{!M:%{!MM:%{!E:" # compiler_name " %{!pipe:%g.i} %1 %2\
  73.            %{!Q:-quiet} -dumpbase %b.%{.M:M}%{.mm:mm}%{!.M:%{!.mm:cc}}\
  74.            %{d*} %{m*} %{a}\
  75.            %{g*} %{O}%{O1}%{O2}%{O3}%{O4}%{O5}%{O6}\
  76.            %{W*} %{w} %{pedantic*} %{ansi} %{traditional}\
  77.            %{v:-version} %{pg:-p} %{p} %{f*} %{+e*}\
  78.            %{aux-info*}\
  79.            %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
  80.            %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\
  81.               %{!S:as %{R} %{j} %{J} %{h} %{d2} %a %Y\
  82.               %{c:%W{o*}%{!o*:-o %w%b.o}}%{!c:-o %d%w%u.o}\
  83.                       %{!pipe:%g.s} %A\n }}}}"
  84.   {".cc", "@c++"},
  85.   {".cxx", "@c++"},
  86.   {".cpp", "@c++"},
  87.   {".C", "@c++"},
  88.   {"@c++",
  89.    NEXT_SPEC (%{fobjc:-lang-objc++}%{!fobjc:-lang-c++}, cc1plus)},
  90.   {".M", "@objective-c++"},
  91.   {".mm", "@objective-c++"},
  92.   {"@objective-c++",
  93.    NEXT_SPEC (-lang-objc++, cc1objplus)},
  94.   {".i", "@cpp-output"},
  95.   {"@cpp-output",
  96.    "cc1obj %{.i:%BCompiling} %i %1 %{!Q:-quiet} %{d*} %{m*} %{a}\
  97.     %{g*} %{O}%{O1}%{O2}%{O3}%{O4}%{O5}%{O6}\
  98.     %{W*} %{w} %{pedantic*} %{ansi} %{traditional}\
  99.     %{v:-version} %{pg:-p} %{p} %{f*}\
  100.     %{aux-info*}\
  101.     %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
  102.     %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\
  103.     %{!S:as %{R} %{j} %{J} %{h} %{d2} %a %Y\
  104.             %{c:%W{o*}%{!o*:-o %w%b.o}}%{!c:-o %d%w%u.o} %{!pipe:%g.s} %A\n }"},
  105.   {".ii", "@c++-cpp-output"},
  106.   {"@c++-cpp-output",
  107.    "cc1objplus %{.ii:%BCompiling} %i %1 %2 %{!Q:-quiet} %{d*} %{m*} %{a}\
  108.         %{g*} %{O}%{O1}%{O2}%{O3}%{O4}%{O5}%{O6}\
  109.         %{W*} %{w} %{pedantic*} %{ansi} %{traditional}\
  110.         %{v:-version} %{pg:-p} %{p} %{f*} %{+e*}\
  111.         %{aux-info*}\
  112.         %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
  113.         %{S:%W{o*}%{!o*:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\
  114.        %{!S:as %{R} %{j} %{J} %{h} %{d2} %a %Y\
  115.            %{c:%W{o*}%{!o*:-o %w%b.o}}%{!c:-o %d%w%u.o}\
  116.            %{!pipe:%g.s} %A\n }"},
  117.   {".s", "@assembler-with-cpp"},
  118.   {".S", "@assembler-with-cpp"},
  119.   {"@assembler-with-cpp",
  120.    "cpp -lang-asm %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %I\
  121.     %{.s:%BAssembling} %{.S:%BAssembling}\
  122.     %{C:%{!E:%eGNU C does not support -C without using -E}}\
  123.     %{M} %{MM} %{MD:-MD %b.d} %{MMD:-MMD %b.d} %{trigraphs} \
  124.         -undef -$ %{!undef:%p %P} -D__ASSEMBLER__ \
  125.         %c %{O*:%{!O0:-D__OPTIMIZE__}} %{traditional} %{ftraditional:-traditional}\
  126.         %{traditional-cpp:-traditional}\
  127.     %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %{F*} %C %{D*} %{U*} %{i*}\
  128.         %i %{!M:%{!MM:%{!E:%{!pipe:%g.s}}}}%{E:%W{o*}}%{M:%W{o*}}%{MM:%W{o*}} |\n",
  129.    "%{!M:%{!MM:%{!E:%{!S:as %{R} %{j} %{J} %{h} %{d2} %a %Y\
  130.                     %{c:%W{o*}%{!o*:-o %w%b.o}}%{!c:-o %d%w%u.o}\
  131.             %{!pipe:%g.s} %A\n }}}}"},
  132. #else
  133. #undef NEXT_SPEC
  134. #define NEXT_SPEC(lang_flag,predef_macros,compiler_flags)\
  135.    "%{@:%{E:%eCannot use -E with multiple architectures}\
  136.     %{M:%eCannot use -M with multiple architectures}\
  137.     %{MM:%eCannot use -MM with multiple architectures}\
  138.     %{S:%eCannot use -S with multiple architectures}}\
  139.     %{traditional:cpp}%{traditional-cpp:%{!traditional:cpp}}\
  140.     %{!traditional:%{!traditional-cpp:cpp-precomp -smart}}\
  141.     %{.m:%BCompiling}%{!.m:%BCompiling} " # lang_flag "\
  142.     %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %I\
  143.     %{C:%{!E:%eGNU C does not support -C without using -E}}\
  144.     -arch %T %{@:-arch_multiple}\
  145.     %{M} %{MM} %{MD:-MD %M} %{MMD:-MMD %M}\
  146.     -undef -D__GNUC__=2 %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
  147.     " # predef_macros " -D__GNU__ %{precomp} %{no-precomp}\
  148.     %{!undef:%{!ansi:%p} %P} %{trigraphs}\
  149.     %c %{O:-D__OPTIMIZE__} %{O1:-D__OPTIMIZE__} %{O2:-D__OPTIMIZE__}\
  150.     %{O3:-D__OPTIMIZE__} %{O4:-D__OPTIMIZE__} %{O5:-D__OPTIMIZE__}\
  151.     %{O6:-D__OPTIMIZE__}\
  152.     %{traditional} %{ftraditional:-traditional}\
  153.     %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %{F*} %C %{D*} %{U*} %{i*}\
  154.     %i %{!M:%{!MM:%{!E:%{!precomp:%{!pipe:%g.i}}}}}\
  155.     %{E:%W{o}}%{M:%W{o}}%{MM:%W{o}}\
  156.     %{precomp:%{@:-o %f%g-%T.p}%{!@:%W{o}%W{!o:-o %b.p }} } |\n",\
  157.    "%{!M:%{!MM:%{!E:%{!precomp:cc1obj %{!pipe:%g.i} %1 \
  158.            -arch %T %{@:-arch_multiple} %{arch:} \
  159.            %{!Q:-quiet} -dumpbase %b.%{.m:m}%{!.m:c} %{d*} %{m*} %{a}\
  160.            %{g*} %{O}%{O1}%{O2}%{O3}%{O4}%{O5}%{O6}\
  161.            %{W*} %{w} %{pedantic*} %{ansi} \
  162.            %{traditional} %{v:-version} %{pg:-p} %{p} %{f*}\
  163.            %{aux-info*} %{dynamic:-fPIC} %{threeThreeMethodEncoding}\
  164.            " # compiler_flags "\
  165.            %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
  166.            %{S:%W{o}%{!o:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\
  167.           %{!S:as %{I*} %{R} %{j} %{J} %{h} %{d2} %a %Y\
  168.               %{force_cpusubtype_ALL} %{dynamic} %{static} \
  169.                %{NEXTSTEP-deployment-target} \
  170.               -arch %T %{@:-arch_multiple}\
  171.               %{@:-o %f%g-%T.o}%{!@: %{c:%W{o}%{!o:-o %w%b.o}}%{!c:-o %d%w%g-%b.o}}\
  172.               %{!pipe:%g.s} %A\n }}}}}"
  173.   {".c", "@c"},
  174.   {"@c",
  175.    NEXT_SPEC (%{fobjc:-lang-objc}%{!fobjc:-lang-c},
  176.           %{fobjc:-D__OBJC__},
  177.           %{fobjc:%{gen-decls}})},
  178.   {".m", "@objective-c"},
  179.   {"@objective-c",
  180.    NEXT_SPEC (-lang-objc, -D__OBJC__, -fobjc %{gen-decls})},
  181.   {"-",
  182.    "%{@:%{E:%eCannot use -E with multiple architectures}\
  183.     %{M:%eCannot use -M with multiple architectures}\
  184.     %{MM:%eCannot use -MM with multiple architectures}\
  185.     %{S:%eCannot use -S with multiple architectures}}\
  186.     %{E:cpp %{ObjC:-lang-objc} %{fobjc:-lang-objc} %{!ObjC:%{!fobjc:-lang-c}}\
  187.      %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %I\
  188.     %{C:%{!E:%eGNU C does not support -C without using -E}}\
  189.     %{M} %{MM} %{MD:-MD %M} %{MMD:-MMD %M}\
  190.     -D__GNU__ %{precomp} %{no-precomp}\
  191.     -undef %{ObjC:-D__OBJC__} %{fobjc:-D__OBJC__} -D__GNUC__=2 %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
  192.     %{!undef:%{!ansi:%p} %P} %{trigraphs}\
  193.     %c %{O*:%{!O0:-D__OPTIMIZE__}} %{traditional} %{ftraditional:-traditional}\
  194.     %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %{F*} %C %{D*} %{U*} %{i*}\
  195.     %i %W{o}}\
  196.     %{!E:%e-E required when input is from standard input}"},
  197.   {".h", "@c-header"},
  198.   {"@c-header",
  199.    "%{@:%{E:%eCannot use -E with multiple architectures}\
  200.     %{M:%eCannot use -M with multiple architectures}\
  201.     %{MM:%eCannot use -MM with multiple architectures}\
  202.     %{S:%eCannot use -S with multiple architectures}}\
  203.     %{!E:%{!precomp:%eCompilation of header file requested}} \
  204.         %{.h:%BPrecompiling} \
  205.     %{traditional:cpp}%{traditional-cpp:%{!traditional:cpp}}\
  206.     %{!traditional:%{!traditional-cpp:cpp-precomp -smart}}\
  207.     %{fno-objc:-lang-c}%{!fno-objc:-lang-objc} \
  208.         %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %I\
  209.     %{C:%{!E:%eGNU C does not support -C without using -E}}\
  210.     -arch %T %{@:-arch_multiple}\
  211.     %{M} %{MM} %{MD:-MD %M} %{MMD:-MMD %M} \
  212.     -D__GNU__ %{precomp} %{no-precomp}\
  213.     -undef -D__GNUC__=2 %{ansi:-trigraphs -$ -D__STRICT_ANSI__}\
  214.     %{ObjC:-D__OBJC__} %{fobjc:-D__OBJC__} \
  215.     %{!undef:%{!ansi:%p} %P} %{trigraphs}\
  216.     %c %{O:-D__OPTIMIZE__} %{O1:-D__OPTIMIZE__} %{O2:-D__OPTIMIZE__}\
  217.     %{O3:-D__OPTIMIZE__} %{O4:-D__OPTIMIZE__} %{O5:-D__OPTIMIZE__}\
  218.     %{O6:-D__OPTIMIZE__}\
  219.     %{traditional} %{ftraditional:-traditional}\
  220.     %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %{F*} %C %{D*} %{U*} %{i*}\
  221.     %i %{!precomp:%W{o}}%{precomp:%{@:-o %f%g-%T.p}%{!@:%W{o}%W{!o:-o %b.p }} }"},
  222. #undef NEXT_SPEC
  223. #define NEXT_SPEC(lang_flag,predef_macros,compiler_name,compiler_flags) \
  224.    "%{@:%{E:%eCannot use -E with multiple architectures}\
  225.     %{M:%eCannot use -M with multiple architectures}\
  226.     %{MM:%eCannot use -MM with multiple architectures}\
  227.     %{S:%eCannot use -S with multiple architectures}}\
  228.     cpp %{.M:%BCompiling}%{!.M:%BCompiling} " # lang_flag "\
  229.      %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %I\
  230.     %{C:%{!E:%eGNU C++ does not support -C without using -E}}\
  231.     %{precomp:%ePrecompilation of C++ not supported}\
  232.     %{M} %{MM} %{MD:-MD %M} %{MMD:-MMD %M}\
  233.     -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus\
  234.     " # predef_macros "\
  235.     %{ansi:-trigraphs -$ -D__STRICT_ANSI__} -D__GNU__ %{!undef:%{!ansi:%p} %P}\
  236.     %c %{O:-D__OPTIMIZE__} %{O1:-D__OPTIMIZE__} %{O2:-D__OPTIMIZE__}\
  237.     %{O3:-D__OPTIMIZE__} %{O4:-D__OPTIMIZE__} %{O5:-D__OPTIMIZE__}\
  238.     %{O6:-D__OPTIMIZE__}\
  239.     %{traditional} %{ftraditional:-traditional}\
  240.     %{trigraphs}\
  241.     %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %{F*} %C %{D*} %{U*} %{i*}\
  242.     %i %{!M:%{!MM:%{!E:%{!precomp:%{!pipe:%g.i}}}}} %{E:%W{o}}%{M:%W{o}}%{MM:%W{o}}\
  243.     %{precomp:%{@:-o %f%g-%T.p}%{!@:%W{o}%W{!o:-o %b.p }} } |\n",\
  244.    "%{!M:%{!MM:%{!E:%{!precomp:" # compiler_name " %{!pipe:%g.i} %1\
  245.            -arch %T %{@:-arch_multiple} \
  246.            %{!Q:-quiet} -dumpbase %b.%{.M:M}%{.mm:mm}%{!.M:%{!.mm:cc}}\
  247.            %{d*} %{m*} %{a}\
  248.            %{!g:%{g*}} %{g:-ggdb} %{O}%{O1}%{O2}%{O3}%{O4}%{O5}%{O6}\
  249.            %{W*} %{w} %{pedantic*} %{ansi} %{traditional}\
  250.            %{v:-version} %{pg:-p} %{p} %{f*} %{+e*}\
  251.            %{aux-info*} %{dynamic:-fPIC} %{threeThreeMethodEncoding}\
  252.            " # compiler_flags "\
  253.            %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
  254.            %{S:%W{o}%{!o:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\
  255.           %{!S:as %{I*} %{R} %{j} %{J} %{h} %{d2} %a %Y\
  256.                 %{force_cpusubtype_ALL} %{dynamic} %{static} -arch %T %{@:-arch_multiple}\
  257.                 %{@:-o %f%g-%T.o}%{!@: %{c:%W{o}%{!o:-o %w%b.o}}%{!c:-o %d%w%g-%b.o}}\
  258.                 %{!pipe:%g.s} %A\n }}}}}"
  259.   {".cc", "@c++"},
  260.   {".cxx", "@c++"},
  261.   {".cpp", "@c++"},
  262.   {".C", "@c++"},
  263.   {"@c++",
  264.    NEXT_SPEC (%{fobjc:-lang-objc++}%{!fobjc:-lang-c++},
  265.           %{fobjc:-D__OBJC__},
  266.           cc1plus,
  267.           %{fobjc:%{gen-decls}})},
  268.   {".M", "@objective-c++"},
  269.   {".mm", "@objective-c++"},
  270.   {"@objective-c++",
  271.    NEXT_SPEC (-lang-objc++, -D__OBJC__, cc1objplus, %{gen-decls})},
  272.   {".i", "@cpp-output"},
  273.   {"@cpp-output",
  274.    "%{@:%{E:%eCannot use -E with multiple architectures}\
  275.     %{M:%eCannot use -M with multiple architectures}\
  276.     %{MM:%eCannot use -MM with multiple architectures}\
  277.     %{S:%eCannot use -S with multiple architectures}}\
  278.     cc1obj %i %1 %{.i:%BCompiling} \
  279.     -arch %T %{@:-arch_multiple} %{ObjC:-fobjc} %{fobjc} \
  280.     %{!Q:-quiet} %{Y*} %{d*} %{m*} %{a}\
  281.     %{g*} %{O}%{O1}%{O2}%{O3}%{O4}%{O5}%{O6}\
  282.     %{W*} %{w} %{pedantic*} %{ansi} %{traditional}\
  283.     %{v:-version} %{pg:-p} %{p} %{f*}\
  284.     %{aux-info*} %{dynamic:-fPIC} %{threeThreeMethodEncoding}\
  285.     %{Obj: %{gen-decls}} %{fobjc: %{gen-decls}}\
  286.     %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
  287.     %{S:%W{o}%{!o:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\
  288.     %{!S:as %{I*} %{R} %{j} %{J} %{h} %{d2} %a %Y\
  289.         %{force_cpusubtype_ALL} %{dynamic} %{static} -arch %T %{@:-arch_multiple}\
  290.         %{@:-o %f%g-%T.o}%{!@: %{c:%W{o}%{!o:-o %w%b.o}}%{!c:-o %d%w%g-%b.o}} %{!pipe:%g.s} %A\n }"},
  291.   {".ii", "@c++-cpp-output"},
  292.   {"@c++-cpp-output",
  293.    "cc1objplus %i %1 %{.ii:%BCompiling}\
  294.         -arch %T %{@:-arch_multiple} %{ObjC++:-fobjc} %{fobjc}\
  295.         %{!Q:-quiet} %{d*} %{m*} %{a}\
  296.         %{!g:%{g*}} %{g:-ggdb} %{O}%{O1}%{O2}%{O3}%{O4}%{O5}%{O6}\
  297.         %{W*} %{w} %{pedantic*} %{ansi} %{traditional}\
  298.         %{v:-version} %{pg:-p} %{p} %{f*} %{+e*}\
  299.         %{ObjC++: %{gen-decls}} %{fobjc: %{gen-decls}}\
  300.         %{aux-info*} %{dynamic:-fPIC} %{threeThreeMethodEncoding}\
  301.         %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
  302.         %{S:%W{o}%{!o:-o %b.s}}%{!S:-o %{|!pipe:%g.s}} |\n\
  303.        %{!S:as %{I*} %{R} %{j} %{J} %{h} %{d2} %a %Y\
  304.            %{force_cpusubtype_ALL} %{dynamic} %{static} -arch %T %{@:-arch_multiple}\
  305.            %{@:-o %f%g-%T.o}%{!@: %{c:%W{o}%{!o:-o %w%b.o}}%{!c:-o %d%w%g-%b.o}}\
  306.            %{!pipe:%g.s} %A\n }"},
  307.   {".s", "@assembler-with-cpp"},
  308.   {".S", "@assembler-with-cpp"},
  309.   {"@assembler-with-cpp",
  310.    "%{@:%{E:%eCannot use -E with multiple architectures}\
  311.     %{M:%eCannot use -M with multiple architectures}\
  312.     %{MM:%eCannot use -MM with multiple architectures}\
  313.     %{S:%eCannot use -S with multiple architectures}}\
  314.     cpp -lang-asm %{nostdinc*} %{C} %{v} %{A*} %{I*} %{P} %I\
  315.         %{.s:%BAssembling}%{.S:%BAssembling} \
  316.     %{C:%{!E:%eGNU C does not support -C without using -E}}\
  317.     %{M} %{MM} %{MD:-MD %M} %{MMD:-MMD %M} %{trigraphs} \
  318.     -D__GNU__ %{precomp:%dPrecompilation of assembler not supported}\
  319.     -undef -$ %{!undef:%p %P} -D__ASSEMBLER__ \
  320.     %c %{O:-D__OPTIMIZE__} %{O1:-D__OPTIMIZE__} %{O2:-D__OPTIMIZE__}\
  321.     %{O3:-D__OPTIMIZE__} %{O4:-D__OPTIMIZE__} %{O5:-D__OPTIMIZE__}\
  322.     %{O6:-D__OPTIMIZE__}\
  323.     %{traditional} %{ftraditional:-traditional}\
  324.     %{g*} %{W*} %{w} %{pedantic*} %{H} %{d*} %{F*} %C %{D*} %{U*} %{i*}\
  325.     %i %{!M:%{!MM:%{!E:%{!pipe:%g.s}}}}%{E:%W{o}}%{M:%W{o}}%{MM:%W{o}} |\n",
  326.    "%{!M:%{!MM:%{!E:%{!S:as %{I*} %{R} %{j} %{J} %{h} %{d2} %a %Y\
  327.            %{force_cpusubtype_ALL} %{dynamic} %{static} -arch %T %{@:-arch_multiple} \
  328.             %{@:-o %f%g-%T.o}%{!@: %{c:%W{o}%{!o:-o %w%b.o}}%{!c:-o %d%w%g-%b.o}}\
  329.             %{!pipe:%g.s} %A\n }}}}"},
  330. #endif
  331.