Re: [PATCH 10/14] Makefile: introduce CROSS_COMPILE variable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Marat Radchenko <marat@xxxxxxxxxxxxxxxx> writes:

> To ease cross-compilation process, introduce a single variable
> with the prefix to all compiler-related executables.
>
> Define CROSS_COMPILE=foo- if your compiler and binary utilities
> are foo-cc, foo-ar, foo-strip, etc.  More specific variables
> override this, so if you set CC=gcc CROSS_COMPILE=ia64-linux-gnu-
> then the compiler will be 'gcc', not 'ia64-linux-gnu-gcc'.
>
> Signed-off-by: Marat Radchenko <marat@xxxxxxxxxxxxxxxx>
> ---
>  Makefile         | 19 +++++++++++++------
>  config.mak.uname |  2 +-
>  2 files changed, 14 insertions(+), 7 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index f34a2d4..c412996 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -339,6 +339,11 @@ all::
>  # return NULL when it receives a bogus time_t.
>  #
>  # Define HAVE_CLOCK_GETTIME if your platform has clock_gettime in librt.
> +#
> +# Define CROSS_COMPILE=foo- if your compiler and binary utilities
> +# are foo-cc, foo-ar, foo-strip, etc.  More specific variables
> +# override this, so if you set CC=gcc CROSS_COMPILE=ia64-linux-gnu-
> +# then the compiler will be 'gcc', not 'ia64-linux-gnu-gcc'.

I think you forgot the "default to empty", i.e.

CROSS_COMPILE =

somewhere to prevent stray an environment variable from affecting
the build (which you did correctly for RCFLAGS).

>  GIT-VERSION-FILE: FORCE
>  	@$(SHELL_PATH) ./GIT-VERSION-GEN
> @@ -350,7 +355,6 @@ CFLAGS = -g -O2 -Wall
>  LDFLAGS =
>  ALL_CFLAGS = $(CPPFLAGS) $(CFLAGS)
>  ALL_LDFLAGS = $(LDFLAGS)
> -STRIP ?= strip
>  
>  # Among the variables below, these:
>  #   gitexecdir
> @@ -390,8 +394,12 @@ htmldir_relative = $(patsubst $(prefix)/%,%,$(htmldir))
>  
>  export prefix bindir sharedir sysconfdir gitwebdir localedir
>  
> -CC = cc
> -AR = ar
> +AR = $(CROSS_COMPILE)ar
> +CC = $(CROSS_COMPILE)cc
> +GCOV = $(CROSS_COMPILE)gcov
> +RC = $(CROSS_COMPILE)windres
> +STRIP = $(CROSS_COMPILE)strip
> +
>  RM = rm -f
>  DIFF = diff
>  TAR = tar
> @@ -404,13 +412,12 @@ XGETTEXT = xgettext
>  MSGFMT = msgfmt
>  PTHREAD_LIBS = -lpthread
>  PTHREAD_CFLAGS =
> -GCOV = gcov
>  
>  export TCL_PATH TCLTK_PATH
>  
>  SPARSE_FLAGS =
>  
> -
> +RCFLAGS =
>  
>  ### --- END CONFIGURATION SECTION ---
>  
> @@ -1669,7 +1676,7 @@ $(SCRIPT_LIB) : % : %.sh GIT-SCRIPT-DEFINES
>  	mv $@+ $@
>  
>  git.res: git.rc GIT-VERSION-FILE
> -	$(QUIET_RC)$(RC) \
> +	$(QUIET_RC)$(RC) $(RCFLAGS) \
>  	  $(join -DMAJOR= -DMINOR=, $(wordlist 1,2,$(subst -, ,$(subst ., ,$(GIT_VERSION))))) \
>  	  -DGIT_VERSION="\\\"$(GIT_VERSION)\\\"" $< -o $@
>  
> diff --git a/config.mak.uname b/config.mak.uname
> index f79c0e0..9f7037e 100644
> --- a/config.mak.uname
> +++ b/config.mak.uname
> @@ -523,7 +523,7 @@ ifneq (,$(findstring MINGW,$(uname_S)))
>  	EXTLIBS += -lws2_32
>  	GITLIBS += git.res
>  	PTHREAD_LIBS =
> -	RC = windres -O coff
> +	RCFLAGS += -O coff
>  	NATIVE_CRLF = YesPlease
>  	X = .exe
>  	SPARSE_FLAGS = -Wno-one-bit-signed-bitfield
> -- 
> 2.1.1
>
> -- 
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]