| # Sed commands to finish translating the binutils Unix makefile into MPW syntax. |
| |
| # Add a rule. |
| /^#### .*/a\ |
| \ |
| "{o}"underscore.c.o \\Option-f "{o}"underscore.c\ |
| |
| # Comment out any alias settings. |
| /^host_alias =/s/^/#/ |
| /^target_alias =/s/^/#/ |
| |
| # Whack out unused host define bits. |
| /HDEFINES/s/@HDEFINES@// |
| |
| # Don't build specialized tools. |
| /BUILD_NLMCONV/s/@BUILD_NLMCONV@// |
| /BUILD_SRCONV/s/@BUILD_SRCONV@// |
| /BUILD_DLLTOOL/s/@BUILD_DLLTOOL@// |
| |
| /UNDERSCORE/s/@UNDERSCORE@/{UNDERSCORE}/ |
| |
| # Don't need this. |
| /@HLDFLAGS@/s/@HLDFLAGS@// |
| |
| # Point at the libraries directly. |
| /@BFDLIB@/s/@BFDLIB@/::bfd:libbfd.o/ |
| /@OPCODES@/s/@OPCODES@/::opcodes:libopcodes.o/ |
| |
| # Whack out target makefile fragment. |
| /target_makefile_fragment/s/target_makefile_fragment@// |
| |
| # Fix and add to the include paths. |
| /^INCLUDES = .*$/s/$/ -i "{INCDIR}":mpw: -i ::extra-include:/ |
| /BFDDIR/s/-i {BFDDIR} /-i "{BFDDIR}": / |
| /INCDIR/s/-i {INCDIR} /-i "{INCDIR}": / |
| |
| # Use byacc instead of bison (for now anyway). |
| /BISON/s/^BISON =.*$/BISON = byacc/ |
| #/BISONFLAGS/s/^BISONFLAGS =.*$/BISONFLAGS = / |
| |
| # Embed the version in symbolic doublequotes that will expand to |
| # the right thing for each compiler. |
| /VERSION/s/'"{VERSION}"'/{dq}{VERSION}{dq}/ |
| |
| # '+' is a special char to MPW, don't use it ever. |
| /c++filt/s/c++filt/cplusfilt/ |
| |
| # All of the binutils use the same Rez file, change names to refer to it. |
| /^{[A-Z]*_PROG}/s/$/ "{s}"mac-binutils.r/ |
| /{[A-Z]*_PROG}\.r/s/{[A-Z]*_PROG}\.r/mac-binutils.r/ |
| |
| # There are auto-generated references to BFD .h files that are not |
| # in the objdir (like bfd.h) but are in the source dir. |
| /::bfd:lib/s/::bfd:lib\([a-z]*\)\.h/{BFDDIR}:lib\1.h/g |
| |
| # Fix the locations of generated files. |
| /config/s/"{s}"config\.h/"{o}"config.h/g |
| /config/s/^config\.h/"{o}"config\.h/ |
| /underscore/s/"{s}"underscore\.c/"{o}"underscore.c/g |
| /underscore/s/^underscore\.c/"{o}"underscore\.c/ |
| |
| # Fix paths to generated source files. |
| /lex.yy.c/s/"{s}"lex\.yy\.c/"{o}"lex.yy.c/g |
| /lex.yy.c/s/^lex\.yy\.c/"{o}"lex.yy.c/ |
| /arlex.c/s/"{s}"arlex\.c/"{o}"arlex.c/g |
| /arlex.c/s/^arlex\.c/"{o}"arlex.c/ |
| /y.tab.c/s/"{s}"y\.tab\.c/"{o}"y.tab.c/g |
| /y.tab.c/s/^y\.tab\.c/"{o}"y.tab.c/ |
| /arparse.c/s/"{s}"arparse\.c/"{o}"arparse.c/g |
| /arparse.c/s/^arparse\.c/"{o}"arparse.c/ |
| /y.tab.h/s/"{s}"y\.tab\.h/"{o}"y.tab.h/g |
| /y.tab.h/s/^y\.tab\.h/"{o}"y.tab.h/ |
| /arparse.h/s/"{s}"arparse\.h/"{o}"arparse.h/g |
| /arparse.h/s/^arparse\.h/"{o}"arparse.h/ |
| |
| /"{s}"{INCDIR}/s/"{s}"{INCDIR}/"{INCDIR}"/g |
| |
| # The generated lexer may include an ifdef for older Mac compilers that |
| # needs to work with newer compilers also. |
| /lex.yy.c/s/Rename -y \([^ ]*\) \([^ ]*\)$/sed -e 's,ifdef macintosh,if defined(macintosh) || defined(__MWERKS__),' \1 > \2/ |
| |
| # Fix an over-eagerness. |
| /echo.*WARNING.*This file/s/'.*'/' '/ |
| |
| # Add a "stamps" target. |
| $a\ |
| stamps \\Option-f stamp-under\ |
| |
| /^install \\Option-f /,/^$/c\ |
| install \\Option-f all install-only\ |
| \ |
| install-only \\Option-f\ |
| NewFolderRecursive "{bindir}"\ |
| # Need to copy all the tools\ |
| For prog in {PROGS}\ |
| Set progname `echo {prog} | sed -e 's/.new//'`\ |
| Duplicate -y :{prog} "{bindir}"{progname}\ |
| End For\ |
| |
| |
| /true/s/ ; @true$// |
| |
| # dot files are trouble, remove them and their actions. |
| /^\.dep/,/^$/d |
| |
| # Remove un-useful targets. |
| /^Makefile \\Option-f/,/^$/d |
| /^"{o}"config.h \\Option-f/,/^$/d |
| /^config.status \\Option-f/,/^$/d |
| |
| # Don't try to make the demangler's man page, it's useless. |
| /^{DEMANGLER_PROG}\.1 \\Option-f/,/^$/d |
| # Don't depend on it either. |
| /{DEMANGLER_PROG}/s/ {DEMANGLER_PROG}\.1// |
| |