| OLDCC = armcc -w |
| # Don't build enquire |
| ENQUIRE= |
| CROSS_LIBGCC1 = libgcc1-aof.a |
| LIBGCC2 = libgcc2-aof.a |
| LIBGCC = libgcc-aof.a |
| LIBGCC2_CFLAGS = -O2 -fomit-frame-pointer |
| LIBGCC1_TEST = #libgcc1-atest |
| EXTRA_PARTS = crtbegin.o crtend.o |
| |
| # Rule to build libgcc1.a and libgcc2.a and libgcc.a, since the librarian |
| # for the ARM tools is somewhat quirky, and needs a special rule to use it. |
| libgcc1-aof.a: libgcc1.c $(CONFIG_H) config.status |
| -rm -rf tmplib libgcc1.a libgcc1-aof.a tmplibgcc1.a |
| mkdir tmplib |
| for name in $(LIB1FUNCS); \ |
| do \ |
| echo $${name}; \ |
| rm -f $${name}$(objext); \ |
| $(OLDCC) $(CCLIBFLAGS) $(INCLUDES) -c -DL$${name} $(srcdir)/libgcc1.c; \ |
| if [ $$? -eq 0 ] ; then true; else exit 1; fi; \ |
| mv libgcc1$(objext) tmplib/$${name}$(objext); \ |
| done |
| (cd tmplib; \ |
| armlib -c tmplibgcc1.a *; \ |
| mv tmplibgcc1.a ..) |
| mv tmplibgcc1.a libgcc1-aof.a |
| rm -rf tmplib |
| |
| libgcc2-aof.a: libgcc2.c libgcc2.ready $(CONFIG_H) $(LIB2FUNCS_EXTRA) \ |
| machmode.h longlong.h gbl-ctors.h config.status |
| -rm -f tmplibgcc2.a |
| -rm -rf tmplib |
| mkdir tmplib |
| for name in $(LIB2FUNCS); \ |
| do \ |
| echo $${name}; \ |
| $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) $(INCLUDES) -c -DL$${name} \ |
| $(srcdir)/libgcc2.c -o tmplib/$${name}$(objext); \ |
| if [ $$? -eq 0 ] ; then true; else exit 1; fi; \ |
| done |
| (cd tmplib; \ |
| armlib -c tmplibgcc2.a *; \ |
| mv tmplibgcc2.a ..) |
| mv tmplibgcc2.a libgcc2-aof.a |
| rm -rf tmplib |
| |
| # Combine the various libraries into a single library, libgcc.a. |
| libgcc-aof.a: $(CROSS_LIBGCC1) $(LIBGCC2) |
| -rm -rf tmplibgcc.a libgcc.a tmpcopy libgcc-aof.a |
| mkdir tmpcopy |
| (cd tmpcopy; armlib -e ../$(LIBGCC1) \*) |
| -(cd tmpcopy; chmod +w * > /dev/null 2>&1) |
| (cd tmpcopy; armlib -e ../$(LIBGCC2) \*) |
| (cd tmpcopy; armlib -co ../tmplibgcc.a *$(objext)) |
| rm -rf tmpcopy |
| mv tmplibgcc.a libgcc.a |
| ln libgcc.a libgcc-aof.a |
| |
| libgcc1-atest: libgcc1-test.o native $(GCC_PARTS) $(EXTRA_PARTS) |
| @echo "Testing libgcc1. Ignore linker warning messages." |
| $(GCC_FOR_TARGET) $(GCC_CFLAGS) libgcc1-test.o -o libgcc1-test \ |
| -v |