]>
Commit | Line | Data |
---|---|---|
ea838f99 SS |
1 | # Makefile fragment for GAS. |
2 | ||
3 | s = "{srcdir}" | |
4 | ||
5 | o = : | |
6 | ||
ea838f99 SS |
7 | CROSS = -d CROSS_COMPILE |
8 | ||
a23e2b7c | 9 | ALL_CFLAGS = {CFLAGS} {CROSS} {TDEFINES} -i "{topsrcdir}"include: -i "{topsrcdir}"bfd:,"{srcdir}",::libiberty:,::bfd:,::extra-include,"{srcroot}"include:mpw: |
ea838f99 SS |
10 | # debug options: -mbg on -sym on |
11 | ||
0f8cb88d | 12 | "{o}" \Option-f : "{s}" |
ea838f99 SS |
13 | |
14 | # Default rule that puts each file into separate segment. | |
15 | ||
0f8cb88d | 16 | .c.o \Option-f .c |
b06fe940 | 17 | {CC} {DepDir}{Default}.c {ALL_CFLAGS} -s gas_{Default} -o {TargDir}{Default}.c.o |
ea838f99 | 18 | |
edd9075c SS |
19 | prefix = usr:local: |
20 | ||
21 | bindir = {prefix}bin: | |
22 | ||
0f8cb88d SS |
23 | OBJECTS = \Option-d |
24 | "{o}"app.c.o \Option-d | |
921e047b | 25 | "{o}"as.c.o \Option-d |
0f8cb88d SS |
26 | "{o}"atof-generic.c.o \Option-d |
27 | "{o}"bignum-copy.c.o \Option-d | |
28 | "{o}"cond.c.o \Option-d | |
29 | "{o}"expr.c.o \Option-d | |
30 | "{o}"flonum-konst.c.o \Option-d | |
31 | "{o}"flonum-copy.c.o \Option-d | |
32 | "{o}"flonum-mult.c.o \Option-d | |
33 | "{o}"frags.c.o \Option-d | |
34 | "{o}"hash.c.o \Option-d | |
35 | "{o}"hex-value.c.o \Option-d | |
36 | "{o}"input-file.c.o \Option-d | |
37 | "{o}"input-scrub.c.o \Option-d | |
38 | "{o}"listing.c.o \Option-d | |
39 | "{o}"messages.c.o \Option-d | |
40 | "{o}"output-file.c.o \Option-d | |
41 | "{o}"read.c.o \Option-d | |
42 | "{o}"stabs.c.o \Option-d | |
43 | "{o}"subsegs.c.o \Option-d | |
44 | "{o}"symbols.c.o \Option-d | |
45 | "{o}"write.c.o \Option-d | |
46 | "{o}"ecoff.c.o \Option-d | |
47 | "{o}"xmalloc.c.o \Option-d | |
ea838f99 | 48 | |
9e4eebc2 SS |
49 | TARG_OBJECTS = "{o}"obj-format.c.o "{o}"targ-cpu.c.o "{o}"atof-targ.c.o |
50 | ||
51 | # If you put config.h in INCLUDES, then MPW's stupid make will always | |
52 | # want to rebuild everything. Better to do in two stages. | |
53 | ||
ea838f99 | 54 | INCLUDES = |
9e4eebc2 | 55 | # "{o}"config.h |
ea838f99 SS |
56 | # host.h |
57 | #"{s}".h | |
58 | ||
9e4eebc2 SS |
59 | CLIBS = ::libiberty:libiberty.o ::bfd:libbfd.o ::opcodes:libopcodes.o |
60 | ||
a23e2b7c | 61 | all \Option-f "{o}"config.h as.new |
ea838f99 | 62 | |
9e4eebc2 SS |
63 | as.new \Option-f\Option-f {OBJECTS} {TARG_OBJECTS} {CLIBS} |
64 | Link {LDFLAGS} -o as.new {OBJECTS} {TARG_OBJECTS} {CLIBS} {EXTRALIBS} | |
65 | ||
66 | ||
67 | "{o}"config.h \Option-f "{o}"config-stamp | |
68 | ||
4c8b1e07 | 69 | "{o}"config-stamp \Option-f Makefile |
9e4eebc2 | 70 | Delete -i -y "{o}"config.new "{o}"config-stamp |
baf6f149 SS |
71 | Echo '#ifndef GAS_VERSION' > "{o}"config.new |
72 | Echo '#define GAS_VERSION "{VERSION}"' >> "{o}"config.new | |
73 | Echo '#define TARGET_CPU "{target_cpu}"' >> "{o}"config.new | |
74 | Echo '#define TARGET_ALIAS "{target_alias}"' >> "{o}"config.new | |
75 | Echo '#define TARGET_CANONICAL "{target_canonical}"' >> "{o}"config.new | |
4c8b1e07 SS |
76 | Echo '#define bzero(a,b) memset(a,0,b)' >> "{o}"config.new |
77 | Echo '#define bcopy(a,b,c) memcpy(b,a,c)' >> "{o}"config.new | |
78 | Echo '#define bcmp(a,b,c) memcmp(a,b,c)' >> "{o}"config.new | |
79 | Echo '#define M_ANSI 1' >> "{o}"config.new | |
80 | Echo '#include <stdlib.h>' >> "{o}"config.new | |
81 | Echo '#include <string.h>' >> "{o}"config.new | |
82 | Echo '#include <memory.h>' >> "{o}"config.new | |
a23e2b7c | 83 | Echo '#include <spin.h>' >> "{o}"config.new |
4c8b1e07 SS |
84 | Echo 'char *strdup();' >> "{o}"config.new |
85 | Echo '#ifdef MPW_C' >> "{o}"config.new | |
86 | Echo '#undef __PTR_TO_INT' >> "{o}"config.new | |
87 | Echo '#define __PTR_TO_INT(P) ((int)(P))' >> "{o}"config.new | |
88 | Echo '#undef __INT_TO_PTR' >> "{o}"config.new | |
89 | Echo '#define __INT_TO_PTR(P) ((char *)(P))' >> "{o}"config.new | |
90 | Echo '#endif' >> "{o}"config.new | |
91 | Echo '#define sys_nerr _sys_nerr' >> "{o}"config.new | |
92 | Echo '#define sys_errlist _sys_errlist' >> "{o}"config.new | |
93 | Echo '#ifdef __STDIO__' >> "{o}"config.new | |
94 | Echo 'FILE *mpw_fopen();' >> "{o}"config.new | |
95 | Echo '#endif' >> "{o}"config.new | |
96 | Echo '#define fopen mpw_fopen' >> "{o}"config.new | |
97 | Echo '#define fseek mpw_fseek' >> "{o}"config.new | |
98 | Echo '#define abort mpw_abort' >> "{o}"config.new | |
99 | Echo '#define TRUE_FALSE_ALREADY_DEFINED' >> "{o}"config.new | |
4c8b1e07 SS |
100 | Echo '#define CR_EOL' >> "{o}"config.new |
101 | Echo '#define ABORT_ON_ERROR' >> "{o}"config.new | |
102 | Echo '#define LOSING_COMPILER' >> "{o}"config.new | |
103 | Echo '#define HOST_SPECIAL_INIT(argc,argv) mpw_special_init ((argv)[0]);' >> "{o}"config.new | |
104 | Echo '#define WANT_FOPEN_BIN' >> "{o}"config.new | |
105 | Echo '#define HAVE_ERRNO_H' >> "{o}"config.new | |
a23e2b7c SS |
106 | Echo '#define HAVE_STDARG_H' >> "{o}"config.new |
107 | Echo '#define BFD_ASSEMBLER' >> "{o}"config.new | |
108 | Echo '#endif /* GAS_VERSION */' >> "{o}"config.new | |
9e4eebc2 | 109 | MoveIfChange "{o}"config.new "{o}"config.h |
921e047b | 110 | Echo ' ' >"{o}"config-stamp |
ea838f99 | 111 | |
0f8cb88d | 112 | "{o}"app.c.o \Option-f "{s}"app.c {INCLUDES} |
921e047b | 113 | "{o}"as.c.o \Option-f "{s}"as.c {INCLUDES} |
0f8cb88d | 114 | "{o}"atof-generic.c.o \Option-f "{s}"atof-generic.c {INCLUDES} |
9e4eebc2 | 115 | "{o}"bignum-copy.c.o \Option-f "{s}"bignum-copy.c {INCLUDES} |
0f8cb88d SS |
116 | "{o}"cond.c.o \Option-f "{s}"cond.c {INCLUDES} |
117 | "{o}"expr.c.o \Option-f "{s}"expr.c {INCLUDES} | |
118 | "{o}"flonum-konst.c.o \Option-f "{s}"flonum-konst.c {INCLUDES} | |
119 | "{o}"flonum-copy.c.o \Option-f "{s}"flonum-copy.c {INCLUDES} | |
120 | "{o}"flonum-mult.c.o \Option-f "{s}"flonum-mult.c {INCLUDES} | |
121 | "{o}"frags.c.o \Option-f "{s}"frags.c {INCLUDES} | |
122 | "{o}"hash.c.o \Option-f "{s}"hash.c {INCLUDES} | |
123 | "{o}"hex-value.c.o \Option-f "{s}"hex-value.c {INCLUDES} | |
124 | "{o}"input-file.c.o \Option-f "{s}"input-file.c {INCLUDES} | |
125 | "{o}"input-scrub.c.o \Option-f "{s}"input-scrub.c {INCLUDES} | |
126 | "{o}"listing.c.o \Option-f "{s}"listing.c {INCLUDES} | |
127 | "{o}"messages.c.o \Option-f "{s}"messages.c {INCLUDES} | |
128 | "{o}"output-file.c.o \Option-f "{s}"output-file.c {INCLUDES} | |
129 | "{o}"read.c.o \Option-f "{s}"read.c {INCLUDES} | |
130 | "{o}"subsegs.c.o \Option-f "{s}"subsegs.c {INCLUDES} | |
131 | "{o}"symbols.c.o \Option-f "{s}"symbols.c {INCLUDES} | |
132 | "{o}"write.c.o \Option-f "{s}"write.c {INCLUDES} | |
133 | "{o}"ecoff.c.o \Option-f "{s}"ecoff.c {INCLUDES} | |
134 | "{o}"xmalloc.c.o \Option-f "{s}"xmalloc.c {INCLUDES} | |
edd9075c | 135 | |
9e4eebc2 SS |
136 | "{o}"targ-cpu.c.o \Option-f "{o}"targ-cpu.c {INCLUDES} |
137 | "{o}"obj-format.c.o \Option-f "{o}"obj-format.c {INCLUDES} | |
138 | "{o}"atof-targ.c.o \Option-f "{o}"atof-targ.c {INCLUDES} | |
139 | ||
921e047b SS |
140 | install \Option-f all install-only |
141 | ||
142 | install-only \Option-f | |
edd9075c SS |
143 | If "`Exists "{prefix}"`" == "" |
144 | Echo "{prefix}" does not exist, cannot install anything | |
145 | Exit 1 | |
146 | End If | |
147 | If "`Exists "{bindir}"`" == "" | |
148 | NewFolder "{bindir}" | |
149 | End If | |
150 | Duplicate -y :as.new "{bindir}"as |