From: Andre Przywara <andre.przywara@arm.com>
To: will.deacon@arm.com,
Andreas Herrmann <andreas.herrmann@caviumnetworks.com>
Cc: kvm@vger.kernel.org
Subject: [RFC PATCH 1/2] Makefile: cleanup guest/init generation
Date: Tue, 23 Jun 2015 16:06:26 +0100 [thread overview]
Message-ID: <1435071987-7543-2-git-send-email-andre.przywara@arm.com> (raw)
In-Reply-To: <1435071987-7543-1-git-send-email-andre.przywara@arm.com>
The dependencies and targets for the guest userland binary are
currently not correct, some are redundant.
Fix them by splitting up guest/guest_init.o creation into its two
steps and describe the dependencies properly.
On the way use automatic variables in some rules.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
Makefile | 21 ++++++++++++---------
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/Makefile b/Makefile
index 151fa9d..b9480ff 100644
--- a/Makefile
+++ b/Makefile
@@ -337,7 +337,7 @@ ifneq ($(WERROR),0)
CFLAGS += -Werror
endif
-all: $(PROGRAM) $(PROGRAM_ALIAS) $(GUEST_INIT)
+all: $(PROGRAM) $(PROGRAM_ALIAS)
# CFLAGS used when building objects
# This is intentionally not assigned using :=
@@ -352,22 +352,25 @@ c_flags = -Wp,-MD,$(depfile) $(CFLAGS)
STATIC_OBJS = $(patsubst %.o,%.static.o,$(OBJS) $(OBJS_STATOPT))
GUEST_OBJS = guest/guest_init.o
-$(PROGRAM)-static: $(STATIC_OBJS) $(OTHEROBJS) $(GUEST_INIT)
+$(PROGRAM)-static: $(STATIC_OBJS) $(OTHEROBJS) $(GUEST_OBJS)
$(E) " LINK " $@
- $(Q) $(CC) -static $(CFLAGS) $(STATIC_OBJS) $(OTHEROBJS) $(GUEST_OBJS) $(LIBS) $(LIBS_STATOPT) -o $@
+ $(Q) $(CC) -static $(CFLAGS) $^ $(LIBS) $(LIBS_STATOPT) -o $@
-$(PROGRAM): $(OBJS) $(OBJS_DYNOPT) $(OTHEROBJS) $(GUEST_INIT)
+$(PROGRAM): $(OBJS) $(OBJS_DYNOPT) $(OTHEROBJS) $(GUEST_OBJS)
$(E) " LINK " $@
- $(Q) $(CC) $(CFLAGS) $(OBJS) $(OBJS_DYNOPT) $(OTHEROBJS) $(GUEST_OBJS) $(LIBS) $(LIBS_DYNOPT) -o $@
+ $(Q) $(CC) $(CFLAGS) $^ $(LIBS) $(LIBS_DYNOPT) -o $@
$(PROGRAM_ALIAS): $(PROGRAM)
$(E) " LN " $@
- $(Q) ln -f $(PROGRAM) $@
+ $(Q) ln -f $< $@
-$(GUEST_INIT): guest/init.c
+$(GUEST_OBJS): $(GUEST_INIT)
$(E) " LINK " $@
- $(Q) $(CC) -static guest/init.c -o $@
- $(Q) $(LD) $(LDFLAGS) -r -b binary -o guest/guest_init.o $(GUEST_INIT)
+ $(Q) $(LD) $(LDFLAGS) -r -b binary -o $@ $<
+
+$(GUEST_INIT): guest/init.c
+ $(E) " CC " $@
+ $(Q) $(CC) -static $^ -o $@
%.s: %.c
$(Q) $(CC) -o $@ -S $(CFLAGS) -fverbose-asm $<
--
2.3.5
next prev parent reply other threads:[~2015-06-23 15:06 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-23 15:06 [RFC PATCH 0/2] kvmtool: Rework guest/init integration Andre Przywara
2015-06-23 15:06 ` Andre Przywara [this message]
2015-06-23 15:06 ` [RFC PATCH 2/2] Makefile: use xxd for converting guest/init Andre Przywara
2015-06-24 8:53 ` Andreas Herrmann
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=1435071987-7543-2-git-send-email-andre.przywara@arm.com \
--to=andre.przywara@arm.com \
--cc=andreas.herrmann@caviumnetworks.com \
--cc=kvm@vger.kernel.org \
--cc=will.deacon@arm.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox