summaryrefslogblamecommitdiffstats
path: root/toolchain/gcc/Makefile.in
blob: 3e82a324b28f974d58264ed2e5f8897166a124bd (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                        


                                                          
 

                                                                        
 
 
                          
                                           
                                                            
                                   


                               
                           

                          

     
                          
                                              

                                                 
                                              

                                                 
                                             
                                              
     


                                              
 
                         
                     

                                              

     




                                                                                          
                                  


                                 
                     
                                                     
                                                                                                     
                                                            



                                               
                                                                                      
 

                   
# gcc has a bunch of options that need to be shared with
# both gcc-uclibc-4.x.mk, and are use by other packages...
# So include them in this file and arrange to include it
# soon after invoking make from the top level.

TARGET_OPTIMIZATION:=$(call qstrip,$(BR2_TARGET_OPTIMIZATION))
EXTRA_GCC_CONFIG_OPTIONS:=$(call qstrip,$(BR2_EXTRA_GCC_CONFIG_OPTIONS))


ifeq ($(BR2_SOFT_FLOAT),y)
SOFT_FLOAT_CONFIG_OPTION:=--with-float=soft
ifeq ($(BR2_arm)$(BR2_armeb),y) # only set float-abi for arm
TARGET_SOFT_FLOAT:=-mfloat-abi=soft
else
TARGET_SOFT_FLOAT:=-msoft-float
endif
else # no softfloat support
SOFT_FLOAT_CONFIG_OPTION:=
TARGET_SOFT_FLOAT:=
endif

# some additional defaults
ifneq ($(call qstrip,$(BR2_GCC_TARGET_ARCH)),)
GCC_WITH_ARCH:=--with-arch=$(BR2_GCC_TARGET_ARCH)
endif
ifneq ($(call qstrip,$(BR2_GCC_TARGET_TUNE)),)
GCC_WITH_TUNE:=--with-tune=$(BR2_GCC_TARGET_TUNE)
endif
ifneq ($(call qstrip,$(BR2_GCC_TARGET_ABI)),)
GCC_WITH_ABI:=--with-abi=$(BR2_GCC_TARGET_ABI)
endif
ifneq ($(call qstrip,$(BR2_GCC_TARGET_CPU)),)
GCC_WITH_CPU:=--with-cpu=$(BR2_GCC_TARGET_CPU)
endif

# AVR32 GCC configuration
ifeq ($(BR2_avr32),y)
EXTRA_GCC_CONFIG_OPTIONS+=--disable-libmudflap
SOFT_FLOAT_CONFIG_OPTION:=
endif

# Disable mudflap and enable proper double/long double for SPE ABI
ifeq ($(BR2_powerpc_SPE),y)
EXTRA_GCC_CONFIG_OPTIONS+=--disable-libmudflap --enable-e500_double --with-long-double-128
endif

ifeq ($(BR2_PACKAGE_GCC_TARGET),y)
EXTRA_TARGET_GCC_CONFIG_OPTIONS:=

# AVR32 target GCC configuration
ifeq ($(BR2_avr32),y)
EXTRA_TARGET_GCC_CONFIG_OPTIONS+=--disable-libmudflap
EXTRA_TARGET_GCC_CONFIG_OPTIONS+=--with-build-time-tools=$(STAGING_DIR)/$(REAL_GNU_TARGET_NAME)/bin \
EXTRA_TARGET_GCC_CONFIG_OPTIONS+=--with-as=$(TARGET_CROSS)as
endif


# and finally pull in config opts from the user
EXTRA_TARGET_GCC_CONFIG_OPTIONS+=$(call qstrip,$(BR2_EXTRA_TARGET_GCC_CONFIG_OPTIONS))

TARGETS+=gcc_target
endif