1OLDCC = armcc -w
2# Don't build enquire
3ENQUIRE=
4CROSS_LIBGCC1 = libgcc1-aof.a
5LIBGCC2 = libgcc2-aof.a
6LIBGCC = libgcc-aof.a
7TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer
8LIBGCC2_DEBUG_CFLAGS = -g0
9
10LIBGCC1_TEST = #libgcc1-atest
11EXTRA_PARTS = crtbegin.o crtend.o
12STMP_FIXPROTO =
13
14# Rule to build libgcc1.a and libgcc2.a and libgcc.a, since the librarian 
15# for the ARM tools is somewhat quirky, and needs a special rule to use it.
16libgcc1-aof.a: libgcc1.c $(CONFIG_H) config.status
17	-rm -rf tmplib libgcc1.a libgcc1-aof.a tmplibgcc1.a
18	mkdir tmplib
19	for name in $(LIB1FUNCS); \
20	do \
21	  echo $${name}; \
22	  rm -f $${name}$(objext); \
23	  $(OLDCC) $(CCLIBFLAGS) $(INCLUDES) -c -DL$${name} $(srcdir)/libgcc1.c; \
24	  if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
25	  mv libgcc1$(objext) tmplib/$${name}$(objext); \
26	done
27	(cd tmplib; \
28	 armlib -c tmplibgcc1.a *; \
29	 mv tmplibgcc1.a ..)
30	mv tmplibgcc1.a libgcc1-aof.a
31	rm -rf tmplib
32
33libgcc2-aof.a: libgcc2.c libgcc2.ready $(CONFIG_H) $(LIB2FUNCS_EXTRA) \
34   machmode.h longlong.h gbl-ctors.h config.status
35	-rm -f tmplibgcc2.a
36	-rm -rf tmplib
37	mkdir tmplib
38	for name in $(LIB2FUNCS); \
39	do \
40	  echo $${name}; \
41	  $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(INCLUDES) -c -DL$${name} \
42	      $(srcdir)/libgcc2.c -o tmplib/$${name}$(objext); \
43	  if [ $$? -eq 0 ] ; then true; else exit 1; fi; \
44	done
45	(cd tmplib; \
46	 armlib -c tmplibgcc2.a *; \
47	 mv tmplibgcc2.a ..)
48	mv tmplibgcc2.a libgcc2-aof.a
49	rm -rf tmplib
50
51# Combine the various libraries into a single library, libgcc.a.
52libgcc-aof.a: $(CROSS_LIBGCC1) $(LIBGCC2)
53	-rm -rf tmplibgcc.a libgcc.a tmpcopy libgcc-aof.a
54	mkdir tmpcopy
55	(cd tmpcopy; armlib -e ../$(LIBGCC1) \*)
56	-(cd tmpcopy; chmod +w * > /dev/null 2>&1)
57	(cd tmpcopy; armlib -e ../$(LIBGCC2) \*)
58	(cd tmpcopy; armlib -co ../tmplibgcc.a *$(objext))
59	rm -rf tmpcopy
60	mv tmplibgcc.a libgcc.a
61	ln libgcc.a libgcc-aof.a
62
63libgcc1-atest: libgcc1-test.o native $(GCC_PARTS) $(EXTRA_PARTS)
64	@echo "Testing libgcc1.  Ignore linker warning messages."
65	$(GCC_FOR_TARGET) $(GCC_CFLAGS) libgcc1-test.o -o libgcc1-test \
66	-v
67