From: Thomas Leonard Subject: [PATCH ARM v3 1/7] mini-os: build fixes Date: Wed, 11 Jun 2014 11:30:12 +0100 Message-ID: <1402482618-15269-2-git-send-email-talex5@gmail.com> References: <1402482618-15269-1-git-send-email-talex5@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta4.messagelabs.com ([85.158.143.247]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1Wufnf-0002XC-3w for xen-devel@lists.xenproject.org; Wed, 11 Jun 2014 10:30:35 +0000 Received: by mail-wg0-f48.google.com with SMTP id n12so8390376wgh.31 for ; Wed, 11 Jun 2014 03:30:33 -0700 (PDT) In-Reply-To: <1402482618-15269-1-git-send-email-talex5@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Thomas Leonard , Dave.Scott@eu.citrix.com, anil@recoil.org, stefano.stabellini@eu.citrix.com, samuel.thibault@ens-lyon.org List-Id: xen-devel@lists.xenproject.org Make .o rules depend on the includes. Before, only the final link step depended on setting up the includes directory, making parallel builds unreliable. Make symlinks use explicit make rules instead of using a phony target. Avoids unnecessary rebuilds. Signed-off-by: Thomas Leonard --- extras/mini-os/Makefile | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/extras/mini-os/Makefile b/extras/mini-os/Makefile index 50d038b..5af40ad 100644 --- a/extras/mini-os/Makefile +++ b/extras/mini-os/Makefile @@ -50,6 +50,10 @@ flags-$(CONFIG_XENBUS) += -DCONFIG_XENBUS DEF_CFLAGS += $(flags-y) +LINKS = include/list.h $(ARCH_LINKS) include/mini-os include/xen include/$(TARGET_ARCH_FAM)/mini-os + +EXTRA_DEPS += $(LINKS) include/list.h + # Include common mini-os makerules. include minios.mk @@ -124,11 +128,14 @@ include/list.h: $(XEN_ROOT)/tools/include/xen-external/bsd-sys-queue-h-seddery $ perl $^ --prefix=minios >$@.new $(call move-if-changed,$@.new,$@) -.PHONY: links -links: include/list.h $(ARCH_LINKS) - [ -e include/xen ] || ln -sf ../../../xen/include/public include/xen - [ -e include/mini-os ] || ln -sf . include/mini-os - [ -e include/$(TARGET_ARCH_FAM)/mini-os ] || ln -sf . include/$(TARGET_ARCH_FAM)/mini-os +include/xen: + ln -sf ../../../xen/include/public $@ + +include/mini-os: + ln -sf . $@ + +include/$(TARGET_ARCH_FAM)/mini-os: + ln -sf . $@ .PHONY: arch_lib arch_lib: @@ -174,7 +181,7 @@ ifneq ($(APP_OBJS),) APP_O=$(OBJ_DIR)/$(TARGET)_app.o endif -$(OBJ_DIR)/$(TARGET): links include/list.h $(OBJS) $(APP_O) arch_lib +$(OBJ_DIR)/$(TARGET): $(OBJS) $(APP_O) arch_lib $(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(APP_O) $(OBJS) $(LDARCHLIB) $(LDLIBS) -o $@.o $(OBJCOPY) -w -G $(GLOBAL_PREFIX)* -G _start $@.o $@.o $(LD) $(LDFLAGS) $(LDFLAGS_FINAL) $@.o $(EXTRA_OBJS) -o $@ @@ -212,4 +219,3 @@ tags: .PHONY: TAGS TAGS: $(all_sources) | xargs etags - -- 2.0.0