Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 1 | From dc2712119d6832e24a9b7bed9ed4ce5ae03ce0a3 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Sat, 14 Jul 2012 14:14:07 -0700 |
| 4 | Subject: [PATCH] mkelfimage: Fix cross build |
| 5 | |
| 6 | Make the tool to be cross compilable, by separating the variables for build |
| 7 | tools from those for the target. Also modified to obey LDFLAGS. |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 8 | |
| 9 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 10 | Signed-off-by: Christopher Larson <chris_larson@mentor.com> |
| 11 | |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 12 | Upstream-Status: Pending |
| 13 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 14 | --- |
| 15 | Makefile.conf.in | 3 +++ |
| 16 | configure.ac | 7 +++++-- |
| 17 | linux-i386/Makefile | 2 +- |
| 18 | linux-ia64/Makefile | 2 +- |
| 19 | main/Makefile | 4 ++-- |
| 20 | 5 files changed, 12 insertions(+), 6 deletions(-) |
| 21 | |
| 22 | diff --git a/Makefile.conf.in b/Makefile.conf.in |
| 23 | index 4645e44..dcb6cf2 100644 |
| 24 | --- a/Makefile.conf.in |
| 25 | +++ b/Makefile.conf.in |
| 26 | @@ -17,6 +17,9 @@ DEFS=@DEFS@ |
| 27 | LIBS=@LIBS@ |
| 28 | HOST_CC=@HOST_CC@ |
| 29 | HOST_CFLAGS=@HOST_CFLAGS@ $(DEFS) |
| 30 | +CC=@CC@ |
| 31 | +CFLAGS=@CFLAGS@ $(DEFS) |
| 32 | +LDFLAGS=@LDFLAGS@ |
| 33 | |
| 34 | I386_CC =@I386_CC@ |
| 35 | I386_LD =@I386_LD@ |
| 36 | diff --git a/configure.ac b/configure.ac |
| 37 | index 652b952..0f2ac72 100644 |
| 38 | --- a/configure.ac |
| 39 | +++ b/configure.ac |
| 40 | @@ -70,6 +70,9 @@ if test "with_default" != no ; then |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 41 | AC_MSG_ERROR([cc not found]) |
| 42 | fi |
| 43 | eval "${with_default}_CC='$CC'" |
| 44 | + if test "x$HOST_CC" = 'x'; then |
| 45 | + AC_CHECK_PROG([HOST_CC], [$CC], [$CC], [gcc], [$PATH]) |
| 46 | + fi |
| 47 | AC_PROG_CPP |
| 48 | if test "$CPP" = no; then |
| 49 | AC_MSG_ERROR([cpp not found]) |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 50 | @@ -172,8 +175,8 @@ fi |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 51 | |
| 52 | dnl ---Output variables... |
| 53 | |
| 54 | -HOST_CC=$CC |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 55 | -HOST_CFLAGS="$HOST_CFLAGS -O2 -Wall \$(HOST_CPPFLAGS)" |
| 56 | +CFLAGS="${CFLAGS:--O2} -Wall \$(CPPFLAGS)" |
| 57 | +HOST_CFLAGS="${HOST_CFLAGS:--O2} -Wall \$(HOST_CPPFLAGS)" |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 58 | |
| 59 | dnl TODO: figure out how to set these appropriately for compilers other than gcc |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 60 | I386_CFLAGS="$I386_CFLAGS -Os -ffreestanding -Wall -W -Wno-format \$(I386_CPPFLAGS)" |
| 61 | diff --git a/linux-i386/Makefile b/linux-i386/Makefile |
| 62 | index 51531d6..7e8aa3c 100644 |
| 63 | --- a/linux-i386/Makefile |
| 64 | +++ b/linux-i386/Makefile |
| 65 | @@ -4,7 +4,7 @@ LI386_DEP=Makefile Makefile.conf $(LI386_DIR)/Makefile |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 66 | |
| 67 | $(LI386_OBJ)/mkelf-linux-i386.o: $(LI386_DIR)/mkelf-linux-i386.c $(LI386_DIR)/convert.bin.c $(LI386_DEP) |
| 68 | $(MKDIR) -p $(@D) |
| 69 | - $(HOST_CC) $(HOST_CFLAGS) -c -g $< -o $@ |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 70 | + $(CC) $(CFLAGS) -c -g $< -o $@ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 71 | |
| 72 | |
| 73 | ifdef I386_CC |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 74 | diff --git a/linux-ia64/Makefile b/linux-ia64/Makefile |
| 75 | index 38f5d8c..5df8870 100644 |
| 76 | --- a/linux-ia64/Makefile |
| 77 | +++ b/linux-ia64/Makefile |
| 78 | @@ -4,7 +4,7 @@ LIA64_DEP=Makefile Makefile.conf $(LIA64_DIR)/Makefile |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 79 | |
| 80 | $(LIA64_OBJ)/mkelf-linux-ia64.o: $(LIA64_DIR)/mkelf-linux-ia64.c $(LIA64_DIR)/convert.bin.c $(LIA64_DEP) |
| 81 | $(MKDIR) -p $(@D) |
| 82 | - $(HOST_CC) $(HOST_CFLAGS) -c -g $< -o $@ |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 83 | + $(CC) $(CFLAGS) -c -g $< -o $@ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 84 | |
| 85 | ifdef IA64_CC |
| 86 | |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 87 | diff --git a/main/Makefile b/main/Makefile |
| 88 | index 403b0a4..cd53613 100644 |
| 89 | --- a/main/Makefile |
| 90 | +++ b/main/Makefile |
| 91 | @@ -4,11 +4,11 @@ MKELF_OBJS=$(OBJDIR)/main/mkelfImage.o \ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 92 | |
| 93 | $(OBJDIR)/sbin/mkelfImage: $(MKELF_OBJS) $(DEPS) |
| 94 | $(MKDIR) -p $(@D) |
| 95 | - $(HOST_CC) $(HOST_CFLAGS) $(MKELF_OBJS) -o $@ $(LIBS) |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 96 | + $(CC) $(CFLAGS) $(LDFLAGS) $(MKELF_OBJS) -o $@ $(LIBS) |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 97 | |
| 98 | $(OBJDIR)/main/mkelfImage.o: main/mkelfImage.c include/mkelfImage.h $(DEPS) |
| 99 | $(MKDIR) -p $(@D) |
| 100 | - $(HOST_CC) $(HOST_CFLAGS) -c $< -o $@ |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 101 | + $(CC) $(CFLAGS) -c $< -o $@ |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 102 | |
| 103 | $(OBJDIR)/man/man8/mkelfImage.8: main/mkelfImage.man |
| 104 | $(MKDIR) -p $(@D) |
Patrick Williams | c0f7c04 | 2017-02-23 20:41:17 -0600 | [diff] [blame] | 105 | -- |
| 106 | 2.8.0 |