All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
To: "Jérémie Galarneau" <jeremie.galarneau@efficios.com>
Cc: lttng-dev@lists.lttng.org
Subject: Re: [PATCH lttng-ust v2] Move include directive from	CFLAGS to LOCAL_CPPFLAGS in examples' Makefiles
Date: Tue, 28 May 2013 18:26:16 -0400	[thread overview]
Message-ID: <20130528222616.GA1347__23096.1719331846$1369780009$gmane$org@Krystal> (raw)
In-Reply-To: <1369779558-20747-1-git-send-email-jeremie.galarneau@efficios.com>

* Jérémie Galarneau (jeremie.galarneau@efficios.com) wrote:
> The use of LOCAL_* flags and override directives ensures that the build
> succeeds even if the user explicitly overrides CFLAGS/CPPFLAGS/LDFLAGS.

why use LOCAL_CPPFLAGS on one hand, but "override LDFLAGS" on the other?
What's the difference ? Why should it differ ?

Thanks,

Mathieu

> 
> Fixes #537
> 
> Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
> ---
>  doc/examples/demo/Makefile             | 14 +++++++-------
>  doc/examples/easy-ust/Makefile         | 10 +++++-----
>  doc/examples/hello-static-lib/Makefile | 10 +++++-----
>  3 files changed, 17 insertions(+), 17 deletions(-)
> 
> diff --git a/doc/examples/demo/Makefile b/doc/examples/demo/Makefile
> index bbc8ccb..27ca92b 100644
> --- a/doc/examples/demo/Makefile
> +++ b/doc/examples/demo/Makefile
> @@ -15,14 +15,14 @@
>  CC = gcc
>  LIBS = -ldl	# On Linux
>  #LIBS = -lc	# On BSD
> -CFLAGS += -I.
> +LOCAL_CPPFLAGS += -I.
>  
>  # Only necessary when building from the source tree and lttng-ust is not
>  # installed
>  ifdef BUILD_EXAMPLES_FROM_TREE
> -CFLAGS += -I../../../include/
> +LOCAL_CPPFLAGS += -I../../../include/
>  LIBLTTNG_UST_PATH = ../../../liblttng-ust/.libs/
> -LDFLAGS += -L$(LIBLTTNG_UST_PATH) -Wl,-rpath='$$ORIGIN/$(LIBLTTNG_UST_PATH)'
> +override LDFLAGS += -L$(LIBLTTNG_UST_PATH) -Wl,-rpath='$$ORIGIN/$(LIBLTTNG_UST_PATH)'
>  
>  # Third-party Makefiles have to define these targets to integrate with an
>  # automake project
> @@ -37,22 +37,22 @@ endif
>  all: demo lttng-ust-provider-ust-tests-demo.so lttng-ust-provider-ust-tests-demo3.so
>  
>  tp.o: tp.c ust_tests_demo.h
> -	$(CC) $(CPPFLAGS) $(CFLAGS) -fpic -c -o $@ $<
> +	$(CC) $(CPPFLAGS) $(LOCAL_CPPFLAGS) $(CFLAGS) -fpic -c -o $@ $<
>  
>  tp2.o: tp2.c ust_tests_demo2.h
> -	$(CC) $(CPPFLAGS) $(CFLAGS) -fpic -c -o $@ $<
> +	$(CC) $(CPPFLAGS) $(LOCAL_CPPFLAGS) $(CFLAGS) -fpic -c -o $@ $<
>  
>  lttng-ust-provider-ust-tests-demo.so: tp.o tp2.o
>  	$(CC) -shared -o $@ $(LDFLAGS) -llttng-ust $^
>  
>  tp3.o: tp3.c ust_tests_demo3.h
> -	$(CC) $(CPPFLAGS) $(CFLAGS) -fpic -c -o $@ $<
> +	$(CC) $(CPPFLAGS) $(LOCAL_CPPFLAGS) $(CFLAGS) -fpic -c -o $@ $<
>  
>  lttng-ust-provider-ust-tests-demo3.so: tp3.o
>  	$(CC) -shared -o $@ $(LDFLAGS) -llttng-ust $^
>  
>  demo.o: demo.c
> -	$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
> +	$(CC) $(CPPFLAGS) $(LOCAL_CPPFLAGS) $(CFLAGS) -c -o $@ $<
>  
>  demo: demo.o
>  	$(CC) -o $@ $^ $(LIBS)
> diff --git a/doc/examples/easy-ust/Makefile b/doc/examples/easy-ust/Makefile
> index e20e53a..e3546e1 100644
> --- a/doc/examples/easy-ust/Makefile
> +++ b/doc/examples/easy-ust/Makefile
> @@ -17,14 +17,14 @@
>  CC = gcc
>  LIBS = -ldl -llttng-ust		# On Linux
>  #LIBS = -lc -llttng-ust		# On BSD
> -CFLAGS += -I.
> +LOCAL_CPPFLAGS += -I.
>  
>  # Only necessary when building from the source tree and lttng-ust is not
>  # installed
>  ifdef BUILD_EXAMPLES_FROM_TREE
> -CFLAGS += -I../../../include/
> +LOCAL_CPPFLAGS += -I../../../include/
>  LIBLTTNG_UST_PATH = ../../../liblttng-ust/.libs/
> -LDFLAGS += -L$(LIBLTTNG_UST_PATH) -Wl,-rpath='$$ORIGIN/$(LIBLTTNG_UST_PATH)'
> +override LDFLAGS += -L$(LIBLTTNG_UST_PATH) -Wl,-rpath='$$ORIGIN/$(LIBLTTNG_UST_PATH)'
>  
>  # Third-party Makefiles have to define these targets to integrate with an
>  # automake project
> @@ -42,10 +42,10 @@ sample: sample.o tp.o
>  	$(CC) -o $@ $^ $(LDFLAGS) $(LIBS)
>  
>  sample.o: sample.c sample_component_provider.h
> -	$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
> +	$(CC) $(CPPFLAGS) $(LOCAL_CPPFLAGS) $(CFLAGS) -c -o $@ $<
>  
>  tp.o: tp.c sample_component_provider.h
> -	$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
> +	$(CC) $(CPPFLAGS) $(LOCAL_CPPFLAGS) $(CFLAGS) -c -o $@ $<
>  
>  html: sample_component_provider.html sample.html tp.html
>  
> diff --git a/doc/examples/hello-static-lib/Makefile b/doc/examples/hello-static-lib/Makefile
> index dd246f7..85c64c1 100644
> --- a/doc/examples/hello-static-lib/Makefile
> +++ b/doc/examples/hello-static-lib/Makefile
> @@ -13,16 +13,16 @@
>  # a program with tracepoint provider probes compiled as static libraries.
>  
>  CC = gcc
> -CFLAGS += -I.
> +LOCAL_CPPFLAGS += -I.
>  LIBS = -ldl -llttng-ust	# On Linux
>  #LIBS = -lc -llttng-ust	# On BSD
>  
>  # Only necessary when building from the source tree and lttng-ust is not
>  # installed
>  ifdef BUILD_EXAMPLES_FROM_TREE
> -CFLAGS += -I../../../include/
> +LOCAL_CPPFLAGS += -I../../../include/
>  LIBLTTNG_UST_PATH = ../../../liblttng-ust/.libs/
> -LDFLAGS += -L$(LIBLTTNG_UST_PATH) -Wl,-rpath='$$ORIGIN/$(LIBLTTNG_UST_PATH)'
> +override LDFLAGS += -L$(LIBLTTNG_UST_PATH) -Wl,-rpath='$$ORIGIN/$(LIBLTTNG_UST_PATH)'
>  
>  # Third-party Makefiles have to define these targets to integrate with an
>  # automake project
> @@ -37,13 +37,13 @@ endif
>  all: hello
>  
>  lttng-ust-provider-hello.o: tp.c ust_tests_hello.h
> -	$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
> +	$(CC) $(CPPFLAGS) $(LOCAL_CPPFLAGS) $(CFLAGS) -c -o $@ $<
>  
>  lttng-ust-provider-hello.a: lttng-ust-provider-hello.o
>  	ar -rc $@ $^
>  
>  hello.o: hello.c
> -	$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
> +	$(CC) $(CPPFLAGS) $(LOCAL_CPPFLAGS) $(CFLAGS) -c -o $@ $<
>  
>  hello: hello.o lttng-ust-provider-hello.a
>  	$(CC) -o $@ $(LDFLAGS) $^ $(LIBS)
> -- 
> 1.8.2.3
> 
> 
> _______________________________________________
> lttng-dev mailing list
> lttng-dev@lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

  parent reply	other threads:[~2013-05-28 22:26 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1369771309-1773-1-git-send-email-jeremie.galarneau@efficios.com>
2013-05-28 22:19 ` [PATCH lttng-ust v2] Move include directive from CFLAGS to LOCAL_CPPFLAGS in examples' Makefiles Jérémie Galarneau
     [not found] ` <1369779558-20747-1-git-send-email-jeremie.galarneau@efficios.com>
2013-05-28 22:26   ` Mathieu Desnoyers [this message]
     [not found]   ` <20130528222616.GA1347@Krystal>
2013-05-28 22:44     ` Jérémie Galarneau
2013-05-30 14:33   ` Mathieu Desnoyers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='20130528222616.GA1347__23096.1719331846$1369780009$gmane$org@Krystal' \
    --to=mathieu.desnoyers@efficios.com \
    --cc=jeremie.galarneau@efficios.com \
    --cc=lttng-dev@lists.lttng.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.