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