]> sourceware.org Git - newlib-cygwin.git/blob - libgloss/mips/Makefile.in
4213a1d1f513a02865fe1846c765986775dad7be
[newlib-cygwin.git] / libgloss / mips / Makefile.in
1 # Copyright (c) 1995, 1996, 1997, 1998, 1999, 2000 Cygnus Support
2 #
3 # The authors hereby grant permission to use, copy, modify, distribute,
4 # and license this software and its documentation for any purpose, provided
5 # that existing copyright notices are retained in all copies and that this
6 # notice is included verbatim in any distributions. No written agreement,
7 # license, or royalty fee is required for any of the authorized uses.
8 # Modifications to this software may be copyrighted by their authors
9 # and need not follow the licensing terms described here, provided that
10 # the new terms are clearly indicated on the first page of each file where
11 # they apply.
12
13 DESTDIR =
14 VPATH = @srcdir@
15 srcdir = @srcdir@
16 objdir = .
17 srcroot = $(srcdir)/../..
18 objroot = $(objdir)/../..
19
20 prefix = @prefix@
21 exec_prefix = @exec_prefix@
22
23 host_alias = @host_alias@
24 target_alias = @target_alias@
25 program_transform_name = @program_transform_name@
26
27 bindir = @bindir@
28 libdir = @libdir@
29 tooldir = $(exec_prefix)/$(target_alias)
30
31 # Multilib support variables.
32 # TOP is used instead of MULTI{BUILD,SRC}TOP.
33 MULTIDIRS =
34 MULTISUBDIR =
35 MULTIDO = true
36 MULTICLEAN = true
37
38 INSTALL = @INSTALL@
39 INSTALL_PROGRAM = @INSTALL_PROGRAM@
40 INSTALL_DATA = @INSTALL_DATA@
41
42 SHELL = /bin/sh
43
44 CC = @CC@
45
46 #AS = @AS@
47 AS = `if [ -f ${objroot}/../gas/as.new ] ; \
48 then echo ${objroot}/../gas/as.new ; \
49 else echo as ; fi`
50
51 AR = @AR@
52
53 #LD = @LD@
54 LD = `if [ -f ${objroot}/../ld/ld.new ] ; \
55 then echo ${objroot}/../ld/ld.new ; \
56 else echo ld ; fi`
57
58 RANLIB = @RANLIB@
59
60 OBJDUMP = `if [ -f ${objroot}/../binutils/objdump ] ; \
61 then echo ${objroot}/../binutils/objdump ; \
62 else t='$(program_transform_name)'; echo objdump | sed -e $$t ; fi`
63 OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \
64 then echo ${objroot}/../binutils/objcopy ; \
65 else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi`
66
67 CRT0 = @MIPS_CRT0@
68 PCRT0 = pcrt0.o
69 GENOBJS = syscalls.o fstat.o getpid.o isatty.o kill.o \
70 lseek.o print.o putnum.o stat.o unlink.o
71 GENOBJS2 = open.o close.o read.o write.o
72 IDTOBJS = idtmon.o @MIPS_PART_SPECIFIC_OBJ@ ${GENOBJS}
73 PMONOBJS = pmon.o @MIPS_PART_SPECIFIC_OBJ@ ${GENOBJS}
74 LSIOBJS = lsipmon.o @MIPS_PART_SPECIFIC_OBJ@ ${GENOBJS}
75 DVEOBJS = dvemon.o @MIPS_PART_SPECIFIC_OBJ@ ${GENOBJS} ${GENOBJS2}
76 JMR3904OBJS = jmr3904-io.o @MIPS_PART_SPECIFIC_OBJ@ ${GENOBJS} ${GENOBJS2}
77 CFEOBJS = cfe.o cfe_api.o cfe_mem.o @MIPS_PART_SPECIFIC_OBJ@ ${GENOBJS} ${GENOBJS2}
78 CYGMONOBJS = open.o close.o cygmon.o @MIPS_PART_SPECIFIC_OBJ@ ${GENOBJS}
79
80 # Nullmon cannot support read and write, but the test cases pull them in via libs
81 NULLMONOBJS = nullmon.o @MIPS_PART_SPECIFIC_OBJ@ ${GENOBJS}
82
83 CFLAGS = -g
84
85 GCC_LDFLAGS = `if [ -d ${objroot}/../gcc ] ; \
86 then echo -L${objroot}/../gcc ; fi`
87
88 SCRIPTS = @MIPS_SCRIPT_LIST@
89 BSP = @MIPS_BSP_LIST@
90
91 PART_SPECIFIC_DEFINES = @MIPS_PART_SPECIFIC_DEFINES@
92
93 # Host specific makefile fragment comes in here.
94 @host_makefile_frag@
95
96 #
97 # build a test program for each target board. Just trying to get
98 # it to link is a good test, so we ignore all the errors for now.
99 #
100
101 all: ${CRT0} ${PCRT0} test.o ${BSP}
102
103 #
104 # here's where we build the board support packages for each target
105 #
106 mipsidt.o: $(IDTOBJS)
107 ${LD} -r $(IDTOBJS) -o $@
108
109 mipspmon.o: $(PMONOBJS)
110 ${LD} -r $(PMONOBJS) -o $@
111
112 mipslsi.o: $(PMONOBJS)
113 ${LD} -r $(LSIOBJS) -o $@
114
115 libidt.a: $(IDTOBJS)
116 ${AR} ${ARFLAGS} $@ $(IDTOBJS)
117 ${RANLIB} $@
118
119 libpmon.a: $(PMONOBJS)
120 ${AR} ${ARFLAGS} $@ $(PMONOBJS)
121 ${RANLIB} $@
122
123 liblsi.a: $(LSIOBJS)
124 ${AR} ${ARFLAGS} $@ $(LSIOBJS)
125 ${RANLIB} $@
126
127 libdve.a: $(DVEOBJS)
128 ${AR} ${ARFLAGS} $@ $(DVEOBJS)
129 ${RANLIB} $@
130
131 libjmr3904.a: $(JMR3904OBJS)
132 ${AR} ${ARFLAGS} $@ $(JMR3904OBJS)
133 ${RANLIB} $@
134
135 libcygmon.a: $(CYGMONOBJS)
136 ${AR} ${ARFLAGS} $@ $(CYGMONOBJS)
137 ${RANLIB} $@
138
139 libcfe.a: $(CFEOBJS)
140 ${AR} ${ARFLAGS} $@ $(CFEOBJS)
141 ${RANLIB} $@
142
143 # nullmon.a , This is what you want if you want crt0 but NO mon services
144 # Supports GDB sim testing, board bringups, ICE operation.
145 libnullmon.a: $(NULLMONOBJS)
146 ${AR} ${ARFLAGS} $@ $(NULLMONOBJS)
147 ${RANLIB} $@
148
149
150 # compile a fully linked binary. The -Wl,-T*.ld is for the linker
151 # script. By using -Wl, the linker script is put on the proper place
152 # in the comand line for ld, and all the symbols will get fully
153 # resolved.
154
155 test: $(OBJS) ${BSP} pmon-test idt-test cfe-test
156 @echo Done...
157
158 dtor.o: $(srcdir)/dtor.C
159 $(CC) $(CFLAGS_FOR_TARGET) $(INCLUDES) -o $@ -c $<
160 dtor.x: dtor.o ${CRT0} ${srcdir}/pmon.ld Makefile libpmon.a
161 ${CC} $(CFLAGS_FOR_TARGET) -L${srcdir} -L${objdir} \
162 dtor.o -o $@ $(NEWLIB_LDFLAGS) -N -Wl,-Tpmon.ld
163
164 pmon-test.x: test.o ${CRT0} Makefile libpmon.a
165 ${CC} $(CFLAGS_FOR_TARGET) -L${srcdir} -L${objdir} \
166 test.o -o $@ $(NEWLIB_LDFLAGS) -Wl,-Tpmon.ld
167 pmon-test.srec: pmon-test.x
168 $(OBJCOPY) -O srec pmon-test.x $@
169 pmon-test.dis: pmon-test.x
170 @rm -fr pmon-test.dis
171 $(OBJDUMP) -d pmon-test.x > $@
172 pmon-test: pmon-test.srec pmon-test.dis
173
174 idt-test.x: test.o ${CRT0} Makefile libidt.a
175 ${CC} $(CFLAGS_FOR_TARGET) -L${srcdir} -L${objdir} \
176 test.o -o $@ $(NEWLIB_LDFLAGS) -Wl,-Tidt.ld
177 idt-test.srec: idt-test.x
178 $(OBJCOPY) -O srec idt-test.x $@
179 idt-test.dis: idt-test.x
180 @rm -fr idt-test.dis
181 $(OBJDUMP) -d idt-test.x > $@
182 idt-test: idt-test.srec idt-test.dis
183
184 cfe-test.x: test.o ${CRT0} Makefile libcfe.a
185 ${CC} $(CFLAGS_FOR_TARGET) -L${srcdir} -L${objdir} \
186 test.o -o $@ $(NEWLIB_LDFLAGS) -Wl,-Tcfe.ld
187 cfe-test.srec: cfe-test.x
188 $(OBJCOPY) -O srec cfe-test.x $@
189 cfe-test.dis: cfe-test.x
190 @rm -fr cfe-test.dis
191 $(OBJDUMP) -d cfe-test.x > $@
192 cfe-test: cfe-test.srec cfe-test.dis
193
194 doc:
195
196 clean mostlyclean:
197 rm -f a.out core *.i *~ *.o *-test *.srec *.dis *.map *.x
198
199 distclean maintainer-clean realclean: clean
200 rm -f Makefile config.status a.out
201
202 .PHONY: install info install-info clean-info
203 install:
204 mkdir -p $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}
205 @for file in $(CRT0) $(PCRT0) $(BSP); do \
206 $(INSTALL_DATA) $${file} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${file}; \
207 done
208 @for script in ${SCRIPTS}; do\
209 $(INSTALL_DATA) ${srcdir}/$${script}.ld $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${script}.ld; \
210 done
211
212 info:
213 install-info:
214 clean-info:
215
216 test.o: ${srcdir}/test.c
217
218 # these are for the BSPs
219 crt0.o: ${srcdir}/crt0.S
220 pcrt0.o: ${srcdir}/crt0.S
221 $(CC) -c $(CFLAGS_FOR_TARGET) $(CFLAGS) -DGCRT0 ${srcdir}/crt0.S -o ${PCRT0}
222 crt0_cfe.o: ${srcdir}/crt0_cfe.S
223 crt0_cygmon.o: ${srcdir}/crt0_cygmon.S
224 idtmon.o: ${srcdir}/idtmon.S
225 pmon.o: ${srcdir}/pmon.S
226 $(CC) -c $(CFLAGS_FOR_TARGET) $(CFLAGS) $(PART_SPECIFIC_DEFINES) ${srcdir}/pmon.S -o pmon.o
227 vr4300.o: ${srcdir}/vr4300.S
228 $(CC) -c $(CFLAGS_FOR_TARGET) $(CFLAGS) ${srcdir}/vr4300.S
229 vr5xxx.o: ${srcdir}/vr5xxx.S
230 $(CC) -c $(CFLAGS_FOR_TARGET) $(CFLAGS) ${srcdir}/vr5xxx.S
231 lsipmon.o: $(srcdir)/lsipmon.S $(srcdir)/pmon.S
232 jmr3904-io.o: ${srcdir}/jmr3904-io.c
233 $(CC) -c $(CFLAGS_FOR_TARGET) $(CFLAGS) ${srcdir}/jmr3904-io.c -o $@
234 cfe.o: ${srcdir}/cfe.c ${srcdir}/cfe_api.h
235 $(CC) -c $(CFLAGS_FOR_TARGET) $(CFLAGS) ${srcdir}/cfe.c -o $@
236 cfe_api.o: ${srcdir}/cfe_api.c ${srcdir}/cfe_api.h ${srcdir}/cfe_api_int.h
237 $(CC) -c $(CFLAGS_FOR_TARGET) $(CFLAGS) ${srcdir}/cfe_api.c -o $@
238 cfe_mem.o: ${srcdir}/cfe_mem.c ${srcdir}/cfe_api.h
239 $(CC) -c $(CFLAGS_FOR_TARGET) $(CFLAGS) ${srcdir}/cfe_mem.c -o $@
240
241 # cma101 can not be compiled mips16, if a mips16 version is needed then
242 # it will have to be built, then this rule can be scrapped, allowing
243 # the implicit rule to run.
244 cma101.o: ${srcdir}/cma101.c
245 $(CC) -c $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) $(CFLAGS) -mno-mips16 ${srcdir}/cma101.c
246
247 # cygmon can not be compiled as mips16 since it uses the syscall instruction
248 cygmon.o: ${srcdir}/cygmon.c
249 $(CC) -c $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) $(CFLAGS) -mno-mips16 ${srcdir}/cygmon.c
250
251 syscalls.o: ${srcdir}/syscalls.c
252
253 # target specific makefile fragment comes in here.
254 @target_makefile_frag@
255
256 Makefile: Makefile.in ../config.status
257 cd .. && $(SHELL) config.status
This page took 0.046582 seconds and 6 git commands to generate.