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