[v3,bpf-next,13/14] samples: bpf: makefile: add sysroot support

Message ID 20190916105433.11404-14-ivan.khoronzhuk@linaro.org
State New
Headers show
Series
  • samples: bpf: improve/fix cross-compilation
Related show

Commit Message

Ivan Khoronzhuk Sept. 16, 2019, 10:54 a.m.
Basically it only enables that was added by previous couple fixes.
Sysroot contains correct libs installed and its headers ofc. Useful
when working with NFC or virtual machine.

Usage:

clean (on demand)
    make ARCH=arm -C samples/bpf clean
    make ARCH=arm -C tools clean
    make ARCH=arm clean

configure and install headers:

    make ARCH=arm defconfig
    make ARCH=arm headers_install

build samples/bpf:
    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- samples/bpf/ \
    SYSROOT="path/to/sysroot"

Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>

---
 samples/bpf/Makefile | 5 +++++
 1 file changed, 5 insertions(+)

-- 
2.17.1

Comments

Andrii Nakryiko Sept. 18, 2019, 5:23 a.m. | #1
On Mon, Sep 16, 2019 at 4:00 AM Ivan Khoronzhuk
<ivan.khoronzhuk@linaro.org> wrote:
>

> Basically it only enables that was added by previous couple fixes.

> Sysroot contains correct libs installed and its headers ofc. Useful


Please, let's not use unnecessary abbreviations/slang. "Of course" is
not too long and is a proper English, let's stick to it.

> when working with NFC or virtual machine.

>

> Usage:

>

> clean (on demand)

>     make ARCH=arm -C samples/bpf clean

>     make ARCH=arm -C tools clean

>     make ARCH=arm clean

>

> configure and install headers:

>

>     make ARCH=arm defconfig

>     make ARCH=arm headers_install

>

> build samples/bpf:

>     make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- samples/bpf/ \

>     SYSROOT="path/to/sysroot"

>

> Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org>

> ---

>  samples/bpf/Makefile | 5 +++++

>  1 file changed, 5 insertions(+)

>

> diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile

> index 133123d4c7d7..57ddf055d6c3 100644

> --- a/samples/bpf/Makefile

> +++ b/samples/bpf/Makefile

> @@ -194,6 +194,11 @@ TPROGS_CFLAGS += -I$(srctree)/tools/lib/

>  TPROGS_CFLAGS += -I$(srctree)/tools/include

>  TPROGS_CFLAGS += -I$(srctree)/tools/perf

>

> +ifdef SYSROOT

> +TPROGS_CFLAGS += --sysroot=${SYSROOT}

> +TPROGS_LDFLAGS := -L${SYSROOT}/usr/lib


Please stay consistent: $() instead of ${}?

> +endif

> +

>  EXTRA_CXXFLAGS := $(TPROGS_CFLAGS)

>

>  # options not valid for C++

> --

> 2.17.1

>

Patch

diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile
index 133123d4c7d7..57ddf055d6c3 100644
--- a/samples/bpf/Makefile
+++ b/samples/bpf/Makefile
@@ -194,6 +194,11 @@  TPROGS_CFLAGS += -I$(srctree)/tools/lib/
 TPROGS_CFLAGS += -I$(srctree)/tools/include
 TPROGS_CFLAGS += -I$(srctree)/tools/perf
 
+ifdef SYSROOT
+TPROGS_CFLAGS += --sysroot=${SYSROOT}
+TPROGS_LDFLAGS := -L${SYSROOT}/usr/lib
+endif
+
 EXTRA_CXXFLAGS := $(TPROGS_CFLAGS)
 
 # options not valid for C++