|
| 1 | +# We must build libgcc2.a with -G 0, in case the user wants to link |
| 2 | +# without the $gp register. Use -fno-optimize-sibling-calls in case |
| 3 | +# we have a mixed mips16/non-mips16 environment where a plain "jump" |
| 4 | +# instuction won't work across the divide (no jx instruction). |
| 5 | +# Compile libraries with -mcode-xonly, so that they are link-compatible |
| 6 | +# with both -mcode-readable=pcrel and -mcode-readable=yes. |
| 7 | +TARGET_LIBGCC2_CFLAGS = -msmart-io=0 |
| 8 | + |
| 9 | +# Don't let CTOR_LIST end up in sdata section. |
| 10 | +CRTSTUFF_T_CFLAGS = -G 0 -D_BUILD_C32_ -minterlink-compressed |
| 11 | + |
| 12 | +# Build the multilibs. |
| 13 | +LIBGCC = stmp-multilib |
| 14 | +INSTALL_LIBGCC = install-multilib |
| 15 | + |
| 16 | +-MULTILIB_OPTIONS = Os/O3 mips16/mmicromips mno-float/mfp64 fshort-double fPIC |
| 17 | +-MULTILIB_DIRNAMES = size speed mips16 micromips no-float fpu64 shortdouble fPIC |
| 18 | +-MULTILIB_MATCHES = EL=mel EB=meb mips16=mips16e fPIC=fpic fPIC=fpie fPIC=fPIE |
| 19 | +MULTILIB_EXCLUSIONS = mcode-readable=no/!mips16 |
| 20 | +MULTILIB_EXCLUSIONS += *mno-float/*mfp64* |
| 21 | +#MULTILIB_EXCLUSIONS += *mno-float/*fshort-double* |
| 22 | +MULTILIB_EXCLUSIONS += *mips16/*mfp64* |
| 23 | +MULTILIB_EXCEPTIONS = *mpic32mxlibs*/*mmicromips* |
| 24 | +MULTILIB_EXCEPTIONS += *mpic32mmlibs*/*mips16* |
| 25 | +MULTILIB_EXCEPTIONS += *mpic32mmlibs*/*mmicromips* |
| 26 | +MULTILIB_EXCEPTIONS += *mpic32mzlibs*/*mips16* |
| 27 | +MULTILIB_EXCEPTIONS += *mprocessor=32MX*/*mmicromips* |
| 28 | +MULTILIB_EXCEPTIONS += *mprocessor=32MZ*/*mips16* |
| 29 | +MULTILIB_EXCEPTIONS += *mprocessor=32MM*/*mmicromips* |
| 30 | +MULTILIB_EXCEPTIONS += *mprocessor=32MM*/*mips16* |
| 31 | +MULTILIB_EXCEPTIONS += !mprocessor=*/*msmall-isa* |
| 32 | +MULTILIB_EXCEPTIONS += *msoft-float/*mno-float* |
| 33 | +MULTILIB_EXCEPTIONS += *msoft-float/*mfp64* |
| 34 | +MULTILIB_EXCEPTIONS += *mno-float/*mfp64* |
| 35 | +MULTILIB_EXCEPTIONS += *mips16/*mfp64* |
| 36 | + |
| 37 | +EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o |
| 38 | + |
| 39 | +MULTILIB_EXTRA_OPTS = mno-jals G0 fno-optimize-sibling-calls fno-common mmips16-exceptions minterlink-compressed D_BUILD_C32_ |
| 40 | + |
| 41 | +#Microchip SHA APIs used by mchp.c |
| 42 | +sha256.o: $(srcdir)/config/mchp-cci/sha256.c \ |
| 43 | + $(srcdir)/config/mchp-cci/sha256.h |
| 44 | + $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES)\ |
| 45 | + $(srcdir)/config/mchp-cci/sha256.c |
| 46 | + |
| 47 | +mchp_sha.o: $(srcdir)/config/mchp-cci/mchp_sha.c \ |
| 48 | + $(srcdir)/config/mchp-cci/mchp_sha.h |
| 49 | + $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) \ |
| 50 | + $(srcdir)/config/mchp-cci/mchp_sha.c |
| 51 | + |
| 52 | +# Microchip PIC32-specific format checking and pragmas |
| 53 | +mchp.o: $(srcdir)/config/pic32/mchp.c $(srcdir)/config/pic32/mchp.h \ |
| 54 | + $(srcdir)/config/mchp-cci/cci.h \ |
| 55 | + $(CONFIG_H) $(SYSTEM_H) coretypes.h \ |
| 56 | + tree.h c-family/c-format.h intl.h $(CPPLIB_H) c-family/c-pragma.h $(TM_H) $(TM_P_H) \ |
| 57 | + toplev.h libfuncs.h langhooks.h sched-int.h function.h $(C_COMMON_H) \ |
| 58 | + $(srcdir)/config/mips/mips-machine-function.h $(srcdir)/config/pic32/mchp-protos.h |
| 59 | + $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ |
| 60 | + $(srcdir)/config/pic32/mchp.c |
| 61 | + |
| 62 | +mchp-pragmas.o: $(srcdir)/config/pic32/mchp-pragmas.c \ |
| 63 | + $(srcdir)/config/mchp-cci/cci.c \ |
| 64 | + $(srcdir)/config/mchp-cci/cci.h \ |
| 65 | + $(srcdir)/config/pic32/mchp-pragmas.h \ |
| 66 | + $(CONFIG_H) $(SYSTEM_H) coretypes.h \ |
| 67 | + tree.h c-family/c-format.h intl.h $(CPPLIB_H) c-family/c-pragma.h $(TM_H) $(TM_P_H) \ |
| 68 | + toplev.h libfuncs.h langhooks.h sched-int.h function.h $(C_COMMON_H) \ |
| 69 | + $(srcdir)/config/mips/mips-machine-function.h $(srcdir)/config/pic32/mchp-protos.h |
| 70 | + $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ |
| 71 | + $(srcdir)/config/pic32/mchp-pragmas.c |
| 72 | + |
| 73 | +cci-backend.o: $(srcdir)/config/mchp-cci/cci-backend.c \ |
| 74 | + $(srcdir)/config/mchp-cci/cci-backend.h \ |
| 75 | + $(CONFIG_H) $(SYSTEM_H) coretypes.h \ |
| 76 | + tree.h c-family/c-format.h intl.h $(CPPLIB_H) $(TM_H) $(TM_P_H) \ |
| 77 | + toplev.h libfuncs.h langhooks.h sched-int.h function.h $(C_COMMON_H) |
| 78 | + $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ |
| 79 | + $(srcdir)/config/mchp-cci/cci-backend.c |
| 80 | + |
| 81 | +mchp-hi-addr-analysis.o : $(srcdir)/config/pic32/mchp-hi-addr-analysis.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H) \ |
| 82 | + $(REGS_H) hard-reg-set.h $(FLAGS_H) insn-config.h \ |
| 83 | + $(RECOG_H) $(EXPR_H) $(BASIC_BLOCK_H) $(FUNCTION_H) toplev.h $(DIAGNOSTIC_CORE_H) \ |
| 84 | + $(TM_P_H) $(PARAMS_H) cselib.h $(EXCEPT_H) $(TREE_H) \ |
| 85 | + intl.h $(OBSTACK_H) $(TREE_PASS_H) $(DF_H) $(DBGCNT_H) $(TARGET_H) \ |
| 86 | + $(DF_H) $(CFGLOOP_H) |
| 87 | + $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ |
| 88 | + $(srcdir)/config/pic32/mchp-hi-addr-analysis.c |
| 89 | + |
| 90 | +pic32-coverage.o: $(srcdir)/config/pic32/pic32-coverage.c \ |
| 91 | + $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) dwarf2asm.h\ |
| 92 | + xc-coverage.h $(C_COMMON_H) |
| 93 | + $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ |
| 94 | + $(srcdir)/config/pic32/pic32-coverage.c |
0 commit comments