* mpw-make.sed (install, install-only): Edit in Mac-specific
[binutils-gdb.git] / binutils / mpw-make.sed
1 # Sed commands to finish translating the binutils Unix makefile into MPW syntax.
2
3 # Define undefined makefile variables.
4 /^#### .*/a\
5 \
6 BUILD_NLMCONV = \
7 BUILD_SRCONV = \
8 SYSINFO_PROG = \
9 BUILD_DLLTOOL = \
10 \
11 "{o}"underscore.c.o \\Option-f "{o}"underscore.c\
12
13 # Whack out unused host define bits.
14 /HDEFINES/s/@HDEFINES@//
15
16 /BUILD_NLMCONV/s/@BUILD_NLMCONV@//
17 /BUILD_SRCONV/s/@BUILD_SRCONV@//
18 /BUILD_DLLTOOL/s/@BUILD_DLLTOOL@//
19
20 /UNDERSCORE/s/@UNDERSCORE@/{UNDERSCORE}/
21
22 # Whack out target makefile fragment.
23 /target_makefile_fragment/s/target_makefile_fragment@//
24
25 # Fix and add to the include paths.
26 /^INCLUDES = .*$/s/$/ -i "{INCDIR}":mpw: -i ::extra-include:/
27 /BFDDIR/s/-i {BFDDIR} /-i "{BFDDIR}": /
28 /INCDIR/s/-i {INCDIR} /-i "{INCDIR}": /
29
30 # Use byacc instead of bison (for now anyway).
31 /BISON/s/^BISON =.*$/BISON = byacc/
32 #/BISONFLAGS/s/^BISONFLAGS =.*$/BISONFLAGS = /
33
34 # '+' is a special char to MPW, don't use it ever.
35 /c++filt/s/c++filt/cplusfilt/
36
37 /^{[A-Z]*_PROG}/s/$/ "{s}"mac-binutils.r/
38 /{[A-Z]*_PROG}\.r/s/{[A-Z]*_PROG}\.r/mac-binutils.r/
39
40 # Fix the locations of generated files.
41 /config/s/"{s}"config\.h/"{o}"config.h/g
42 /config/s/^config\.h/"{o}"config\.h/
43 /underscore/s/"{s}"underscore\.c/"{o}"underscore.c/g
44 /underscore/s/^underscore\.c/"{o}"underscore\.c/
45
46 # Fix paths to generated source files.
47 /lex.yy.c/s/"{s}"lex\.yy\.c/"{o}"lex.yy.c/g
48 /lex.yy.c/s/^lex\.yy\.c/"{o}"lex.yy.c/
49 /arlex.c/s/"{s}"arlex\.c/"{o}"arlex.c/g
50 /arlex.c/s/^arlex\.c/"{o}"arlex.c/
51 /y.tab.c/s/"{s}"y\.tab\.c/"{o}"y.tab.c/g
52 /y.tab.c/s/^y\.tab\.c/"{o}"y.tab.c/
53 /arparse.c/s/"{s}"arparse\.c/"{o}"arparse.c/g
54 /arparse.c/s/^arparse\.c/"{o}"arparse.c/
55 /y.tab.h/s/"{s}"y\.tab\.h/"{o}"y.tab.h/g
56 /y.tab.h/s/^y\.tab\.h/"{o}"y.tab.h/
57 /arparse.h/s/"{s}"arparse\.h/"{o}"arparse.h/g
58 /arparse.h/s/^arparse\.h/"{o}"arparse.h/
59
60 /"{s}"{INCDIR}/s/"{s}"{INCDIR}/"{INCDIR}"/g
61
62 # The generated lexer may include an ifdef for older Mac compilers that
63 # needs to work with newer compilers also.
64 /lex.yy.c/s/Rename -y \([^ ]*\) \([^ ]*\)$/sed -e 's,ifdef macintosh,if defined(macintosh) || defined(__MWERKS__),' \1 > \2/
65
66 # Fix an over-eagerness.
67 /echo.*WARNING.*This file/s/'.*'/' '/
68
69 /^install \\Option-f /,/^$/c\
70 install \\Option-f all install-only\
71 \
72 install-only \\Option-f\
73 If "`Exists "{prefix}"`" == ""\
74 Echo "{prefix}" does not exist, cannot install anything\
75 Exit 1\
76 End If\
77 If "`Exists "{bindir}"`" == ""\
78 NewFolder "{bindir}"\
79 End If\
80 # Need to copy all the tools\
81 For prog in {PROGS}\
82 Set progname `echo {prog} | sed -e 's/.new//'`\
83 Duplicate -y :{prog} "{bindir}"{progname}\
84 End For\
85
86
87 # Remove un-useful targets.
88 /^Makefile \\Option-f/,/^$/d
89 /^"{o}"config.h \\Option-f/,/^$/d
90 /^config.status \\Option-f/,/^$/d
91
92 # Don't try to make the demangler's man page, it's useless.
93 /^{DEMANGLER_PROG}\.1 \\Option-f/,/^$/d
94 # Don't depend on it either.
95 /{DEMANGLER_PROG}/s/ {DEMANGLER_PROG}\.1//
96