From f7a2c6b5546366aa69a5fe9a44e6df2bcfa4a793 Mon Sep 17 00:00:00 2001 From: patacongo Date: Sun, 11 Nov 2012 14:36:01 +0000 Subject: Remove bash fragments that test for board/Makefile git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5334 42af7a65-404d-4744-a932-0658087f49c3 --- nuttx/ChangeLog | 1 + nuttx/arch/arm/src/Makefile | 37 ++++++++++++++++++++--------- nuttx/arch/avr/src/Makefile | 53 ++++++++++++++++++++++++++--------------- nuttx/arch/hc/src/Makefile | 56 +++++++++++++++++++++++++++----------------- nuttx/arch/mips/src/Makefile | 54 ++++++++++++++++++++++++++---------------- nuttx/arch/sh/src/Makefile | 54 ++++++++++++++++++++++++++---------------- nuttx/arch/x86/src/Makefile | 54 ++++++++++++++++++++++++++---------------- 7 files changed, 198 insertions(+), 111 deletions(-) diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index e4193db20..b48fbfd96 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -3602,4 +3602,5 @@ now that logic generate multiple library paths, all pointing to the lib/ directory. * arch/*/src/Makefile: Now uses only the libraries in lib/ + Replace bash fragments that test for board/Makefile. diff --git a/nuttx/arch/arm/src/Makefile b/nuttx/arch/arm/src/Makefile index 49fabb708..8505ec2be 100644 --- a/nuttx/arch/arm/src/Makefile +++ b/nuttx/arch/arm/src/Makefile @@ -33,6 +33,7 @@ # ############################################################################ +-include $(TOPDIR)/.config -include $(TOPDIR)/Make.defs -include chip/Make.defs @@ -76,18 +77,32 @@ EXTRA_LIBS ?= EXTRA_LIBPATHS ?= LINKLIBS ?= +ifeq ($(CONFIG_WINDOWS_NATIVE),y) + BOARDDIR = $(dir "$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board\Makefile") + LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)\lib"}" +ifneq ($(BOARDDIR),) + LIBPATHS += -L"${shell cygpath -w $(BOARDDIR)}" +endif + +else + BOARDDIR = $(dir "$(TOPDIR)/arch/$(CONFIG_ARCH)/src/board/Makefile") + ifeq ($(WINTOOL),y) LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)/lib"}" +ifneq ($(BOARDDIR),) LIBPATHS += -L"${shell cygpath -w $(BOARDDIR)}" +endif + else LIBPATHS += -L"(TOPDIR)/lib" +ifneq ($(BOARDDIR),) LIBPATHS += -L"$(BOARDDIR)" endif +endif +endif LDLIBS = $(patsubst %.a,%,$(patsubst lib%,-l%,$(LINKLIBS))) -BOARDDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src/board - LIBGCC = "${shell $(CC) $(ARCHCPUFLAGS) -print-libgcc-file-name}" GCC_LIBDIR := ${shell dirname $(LIBGCC)} @@ -137,9 +152,9 @@ endif # Dependencies .depend: Makefile chip/Make.defs $(SRCS) - $(Q) if [ -e board/Makefile ]; then \ - $(MAKE) -C board TOPDIR="$(TOPDIR)" depend ; \ - fi +ifneq ($(BOARDDIR),) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" depend +endif $(Q) $(MKDEP) --dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR) \ $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep $(Q) touch $@ @@ -147,16 +162,16 @@ endif depend: .depend clean: - $(Q) if [ -e board/Makefile ]; then \ - $(MAKE) -C board TOPDIR="$(TOPDIR)" clean ; \ - fi +ifneq ($(BOARDDIR),) + $(MAKE) -C board TOPDIR="$(TOPDIR)" clean +endif $(Q) rm -f libarch$(LIBEXT) *~ .*.swp $(call CLEAN) distclean: clean - $(Q) if [ -e board/Makefile ]; then \ - $(MAKE) -C board TOPDIR="$(TOPDIR)" distclean ; \ - fi +ifneq ($(BOARDDIR),) + $(MAKE) -C board TOPDIR="$(TOPDIR)" distclean +endif $(Q) rm -f Make.dep .depend -include Make.dep diff --git a/nuttx/arch/avr/src/Makefile b/nuttx/arch/avr/src/Makefile index 160ae6317..5504c71aa 100644 --- a/nuttx/arch/avr/src/Makefile +++ b/nuttx/arch/avr/src/Makefile @@ -78,17 +78,32 @@ LDFLAGS += $(ARCHSCRIPT) EXTRA_LIBS ?= LINKLIBS ?= +ifeq ($(CONFIG_WINDOWS_NATIVE),y) + BOARDDIR = $(dir "$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board\Makefile") + LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)\lib"}" +ifneq ($(BOARDDIR),) + LIBPATHS += -L"${shell cygpath -w $(BOARDDIR)}" +endif + +else + BOARDDIR = $(dir "$(TOPDIR)/arch/$(CONFIG_ARCH)/src/board/Makefile") + ifeq ($(WINTOOL),y) LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)/lib"}" +ifneq ($(BOARDDIR),) LIBPATHS += -L"${shell cygpath -w $(BOARDDIR)}" +endif + else LIBPATHS += -L"(TOPDIR)/lib" +ifneq ($(BOARDDIR),) LIBPATHS += -L"$(BOARDDIR)" endif +endif +endif LDLIBS = $(patsubst %.a,%,$(patsubst lib%,-l%,$(LINKLIBS))) -BOARDDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src/board LIBGCC = "${shell $(CC) $(ARCHCPUFLAGS) -print-libgcc-file-name}" @@ -105,25 +120,25 @@ $(COBJS): %$(OBJEXT): %.c $(call COMPILE, $<, $@) libarch$(LIBEXT): $(OBJS) - @( for obj in $(OBJS) ; do \ + $(Q) ( for obj in $(OBJS) ; do \ $(call ARCHIVE, $@, $${obj}); \ done ; ) board/libboard$(LIBEXT): - @$(MAKE) -C board TOPDIR="$(TOPDIR)" libboard$(LIBEXT) EXTRADEFINES=$(EXTRADEFINES) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" libboard$(LIBEXT) EXTRADEFINES=$(EXTRADEFINES) nuttx: $(HEAD_OBJ) board/libboard$(LIBEXT) @echo "LD: nuttx" - @$(LD) --entry=__start $(LDFLAGS) $(LIBPATHS) -o $(NUTTX)$(EXEEXT) $(HEAD_OBJ) $(EXTRA_OBJS) \ + $(Q) $(LD) --entry=__start $(LDFLAGS) $(LIBPATHS) -o $(NUTTX)$(EXEEXT) $(HEAD_OBJ) $(EXTRA_OBJS) \ --start-group $(LDLIBS) -lboard $(EXTRA_LIBS) $(LIBGCC) --end-group - @$(NM) $(NUTTX)$(EXEEXT) | \ + $(Q) $(NM) $(NUTTX)$(EXEEXT) | \ grep -v '\(compiled\)\|\(\$(OBJEXT)$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \ sort > $(TOPDIR)/System.map # This is part of the top-level export target export_head: board/libboard$(LIBEXT) $(HEAD_OBJ) - @if [ -d "$(EXPORT_DIR)/startup" ]; then \ + $(Q) if [ -d "$(EXPORT_DIR)/startup" ]; then \ cp -f $(HEAD_OBJ) "$(EXPORT_DIR)/startup"; \ else \ echo "$(EXPORT_DIR)/startup does not exist"; \ @@ -133,27 +148,27 @@ export_head: board/libboard$(LIBEXT) $(HEAD_OBJ) # Dependencies .depend: Makefile chip/Make.defs $(SRCS) - @if [ -e board/Makefile ]; then \ - $(MAKE) -C board TOPDIR="$(TOPDIR)" depend ; \ - fi - @$(MKDEP) --dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR) \ +ifneq ($(BOARDDIR),) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" depend +endif + $(Q) $(MKDEP) --dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR) \ $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ + $(Q) touch $@ depend: .depend clean: - @if [ -e board/Makefile ]; then \ - $(MAKE) -C board TOPDIR="$(TOPDIR)" clean ; \ - fi - @rm -f libarch$(LIBEXT) *~ .*.swp +ifneq ($(BOARDDIR),) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" clean +endif + $(Q) rm -f libarch$(LIBEXT) *~ .*.swp $(call CLEAN) distclean: clean - @if [ -e board/Makefile ]; then \ - $(MAKE) -C board TOPDIR="$(TOPDIR)" distclean ; \ - fi - @rm -f Make.dep .depend +ifneq ($(BOARDDIR),) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" distclean +endif + $(Q) rm -f Make.dep .depend -include Make.dep diff --git a/nuttx/arch/hc/src/Makefile b/nuttx/arch/hc/src/Makefile index b2058466c..b69f366a0 100644 --- a/nuttx/arch/hc/src/Makefile +++ b/nuttx/arch/hc/src/Makefile @@ -71,18 +71,32 @@ LDFLAGS += $(ARCHSCRIPT) EXTRA_LIBS ?= LINKLIBS ?= +ifeq ($(CONFIG_WINDOWS_NATIVE),y) + BOARDDIR = $(dir "$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board\Makefile") + LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)\lib"}" +ifneq ($(BOARDDIR),) + LIBPATHS += -L"${shell cygpath -w $(BOARDDIR)}" +endif + +else + BOARDDIR = $(dir "$(TOPDIR)/arch/$(CONFIG_ARCH)/src/board/Makefile") + ifeq ($(WINTOOL),y) LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)/lib"}" +ifneq ($(BOARDDIR),) LIBPATHS += -L"${shell cygpath -w $(BOARDDIR)}" +endif + else LIBPATHS += -L"(TOPDIR)/lib" +ifneq ($(BOARDDIR),) LIBPATHS += -L"$(BOARDDIR)" endif +endif +endif LDLIBS = $(patsubst %.a,%,$(patsubst lib%,-l%,$(LINKLIBS))) -BOARDDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src/board - LIBGCC = "${shell $(CC) $(ARCHCPUFLAGS) -print-libgcc-file-name}" VPATH = chip:common:$(ARCH_SUBDIR) @@ -97,25 +111,25 @@ $(COBJS): %$(OBJEXT): %.c $(call COMPILE, $<, $@) libarch$(LIBEXT): $(OBJS) - @( for obj in $(OBJS) ; do \ + $(Q) ( for obj in $(OBJS) ; do \ $(call ARCHIVE, $@, $${obj}); \ done ; ) board/libboard$(LIBEXT): - @$(MAKE) -C board TOPDIR="$(TOPDIR)" libboard$(LIBEXT) EXTRADEFINES=$(EXTRADEFINES) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" libboard$(LIBEXT) EXTRADEFINES=$(EXTRADEFINES) nuttx: $(HEAD_OBJ) board/libboard$(LIBEXT) - @echo "LD: nuttx" - @$(LD) --entry=__start $(LDFLAGS) $(LIBPATHS) -o $(NUTTX)$(EXEEXT) $(HEAD_OBJ) \ + $(Q) echo "LD: nuttx" + $(Q) $(LD) --entry=__start $(LDFLAGS) $(LIBPATHS) -o $(NUTTX)$(EXEEXT) $(HEAD_OBJ) \ --start-group $(LDLIBS) -lboard $(EXTRA_LIBS) $(LIBGCC) --end-group - @$(NM) $(NUTTX)$(EXEEXT) | \ + $(Q) $(NM) $(NUTTX)$(EXEEXT) | \ grep -v '\(compiled\)\|\(\$(OBJEXT)$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \ sort > $(TOPDIR)/System.map # This is part of the top-level export target export_head: board/libboard$(LIBEXT) $(HEAD_OBJ) - @if [ -d "$(EXPORT_DIR)/startup" ]; then \ + $(Q) if [ -d "$(EXPORT_DIR)/startup" ]; then \ cp -f $(HEAD_OBJ) "$(EXPORT_DIR)/startup"; \ else \ echo "$(EXPORT_DIR)/startup does not exist"; \ @@ -125,26 +139,26 @@ export_head: board/libboard$(LIBEXT) $(HEAD_OBJ) # Dependencies .depend: Makefile chip/Make.defs $(SRCS) - @if [ -e board/Makefile ]; then \ - $(MAKE) -C board TOPDIR="$(TOPDIR)" depend ; \ - fi - @$(MKDEP) --dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR) \ +ifneq ($(BOARDDIR),) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" depend +endif + $(Q) $(MKDEP) --dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR) \ $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ + $(Q) touch $@ depend: .depend clean: - @if [ -e board/Makefile ]; then \ - $(MAKE) -C board TOPDIR="$(TOPDIR)" clean ; \ - fi - @rm -f libarch$(LIBEXT) *~ .*.swp +ifneq ($(BOARDDIR),) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" clean +endif + $(Q) rm -f libarch$(LIBEXT) *~ .*.swp $(call CLEAN) distclean: clean - @if [ -e board/Makefile ]; then \ - $(MAKE) -C board TOPDIR="$(TOPDIR)" distclean ; \ - fi - @rm -f Make.dep .depend +ifneq ($(BOARDDIR),) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" distclean +endif + $(Q) rm -f Make.dep .depend -include Make.dep diff --git a/nuttx/arch/mips/src/Makefile b/nuttx/arch/mips/src/Makefile index c9019febd..32e760b0f 100644 --- a/nuttx/arch/mips/src/Makefile +++ b/nuttx/arch/mips/src/Makefile @@ -68,18 +68,32 @@ LDFLAGS += $(ARCHSCRIPT) EXTRA_LIBS ?= LINKLIBS ?= +ifeq ($(CONFIG_WINDOWS_NATIVE),y) + BOARDDIR = $(dir "$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board\Makefile") + LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)\lib"}" +ifneq ($(BOARDDIR),) + LIBPATHS += -L"${shell cygpath -w $(BOARDDIR)}" +endif + +else + BOARDDIR = $(dir "$(TOPDIR)/arch/$(CONFIG_ARCH)/src/board/Makefile") + ifeq ($(WINTOOL),y) LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)/lib"}" +ifneq ($(BOARDDIR),) LIBPATHS += -L"${shell cygpath -w $(BOARDDIR)}" +endif + else LIBPATHS += -L"(TOPDIR)/lib" +ifneq ($(BOARDDIR),) LIBPATHS += -L"$(BOARDDIR)" endif +endif +endif LDLIBS = $(patsubst %.a,%,$(patsubst lib%,-l%,$(LINKLIBS))) -BOARDDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src/board - LIBGCC = "${shell $(CC) $(ARCHCPUFLAGS) -print-libgcc-file-name}" VPATH = chip:common:$(ARCH_SUBDIR) @@ -95,25 +109,25 @@ $(COBJS): %$(OBJEXT): %.c $(call COMPILE, $<, $@) libarch$(LIBEXT): $(OBJS) - @( for obj in $(OBJS) ; do \ + $(Q) ( for obj in $(OBJS) ; do \ $(call ARCHIVE, $@, $${obj}); \ done ; ) board/libboard$(LIBEXT): - @$(MAKE) -C board TOPDIR="$(TOPDIR)" libboard$(LIBEXT) EXTRADEFINES=$(EXTRADEFINES) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" libboard$(LIBEXT) EXTRADEFINES=$(EXTRADEFINES) nuttx: $(HEAD_OBJ) board/libboard$(LIBEXT) @echo "LD: nuttx" - @$(LD) --entry=__start $(LDFLAGS) $(LIBPATHS) -o $(NUTTX)$(EXEEXT) $(HEAD_OBJ) $(EXTRA_OBJS) \ + $(Q) $(LD) --entry=__start $(LDFLAGS) $(LIBPATHS) -o $(NUTTX)$(EXEEXT) $(HEAD_OBJ) $(EXTRA_OBJS) \ --start-group $(LDLIBS) -lboard $(EXTRA_LIBS) $(LIBGCC) --end-group - @$(NM) $(NUTTX)$(EXEEXT) | \ + $(Q) $(NM) $(NUTTX)$(EXEEXT) | \ grep -v '\(compiled\)\|\(\$(OBJEXT)$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \ sort > $(TOPDIR)/System.map # This is part of the top-level export target export_head: board/libboard$(LIBEXT) $(HEAD_OBJ) - @if [ -d "$(EXPORT_DIR)/startup" ]; then \ + $(Q) if [ -d "$(EXPORT_DIR)/startup" ]; then \ cp -f $(HEAD_OBJ) "$(EXPORT_DIR)/startup"; \ else \ echo "$(EXPORT_DIR)/startup does not exist"; \ @@ -123,26 +137,26 @@ export_head: board/libboard$(LIBEXT) $(HEAD_OBJ) # Dependencies .depend: Makefile chip/Make.defs $(SRCS) - @if [ -e board/Makefile ]; then \ - $(MAKE) -C board TOPDIR="$(TOPDIR)" depend ; \ - fi - @$(MKDEP) --dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR) \ +ifneq ($(BOARDDIR),) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" depend +endif + $(Q) $(MKDEP) --dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR) \ $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ + $(Q) touch $@ depend: .depend clean: - @if [ -e board/Makefile ]; then \ - $(MAKE) -C board TOPDIR="$(TOPDIR)" clean ; \ - fi - @rm -f libarch$(LIBEXT) *~ .*.swp +ifneq ($(BOARDDIR),) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" clean +endif + $(Q) rm -f libarch$(LIBEXT) *~ .*.swp $(call CLEAN) distclean: clean - @if [ -e board/Makefile ]; then \ - $(MAKE) -C board TOPDIR="$(TOPDIR)" distclean ; \ - fi - @rm -f Make.dep .depend +ifneq ($(BOARDDIR),) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" distclean +endif + $(Q) rm -f Make.dep .depend -include Make.dep diff --git a/nuttx/arch/sh/src/Makefile b/nuttx/arch/sh/src/Makefile index 2cb22728e..164b1fee4 100644 --- a/nuttx/arch/sh/src/Makefile +++ b/nuttx/arch/sh/src/Makefile @@ -54,18 +54,32 @@ LDFLAGS += $(ARCHSCRIPT) EXTRA_LIBS ?= LINKLIBS ?= +ifeq ($(CONFIG_WINDOWS_NATIVE),y) + BOARDDIR = $(dir "$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board\Makefile") + LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)\lib"}" +ifneq ($(BOARDDIR),) + LIBPATHS += -L"${shell cygpath -w $(BOARDDIR)}" +endif + +else + BOARDDIR = $(dir "$(TOPDIR)/arch/$(CONFIG_ARCH)/src/board/Makefile") + ifeq ($(WINTOOL),y) LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)/lib"}" +ifneq ($(BOARDDIR),) LIBPATHS += -L"${shell cygpath -w $(BOARDDIR)}" +endif + else LIBPATHS += -L"(TOPDIR)/lib" +ifneq ($(BOARDDIR),) LIBPATHS += -L"$(BOARDDIR)" endif +endif +endif LDLIBS = $(patsubst %.a,%,$(patsubst lib%,-l%,$(LINKLIBS))) -BOARDDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src/board - LIBGCC = ${shell $(CC) $(ARCHCPUFLAGS) -print-libgcc-file-name} VPATH = chip:common @@ -81,25 +95,25 @@ $(COBJS): %$(OBJEXT): %.c $(call COMPILE, $<, $@) libarch$(LIBEXT): $(OBJS) - @( for obj in $(OBJS) ; do \ + $(Q) ( for obj in $(OBJS) ; do \ $(call ARCHIVE, $@, $${obj}); \ done ; ) board/libboard$(LIBEXT): - @$(MAKE) -C board TOPDIR="$(TOPDIR)" libboard$(LIBEXT) EXTRADEFINES=$(EXTRADEFINES) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" libboard$(LIBEXT) EXTRADEFINES=$(EXTRADEFINES) nuttx: $(HEAD_OBJ) board/libboard$(LIBEXT) @echo "LD: nuttx" - @$(LD) --entry=__start $(LDFLAGS) $(LDPATHS) -L$(BOARDDIR) -o $(TOPDIR)/$@ $(HEAD_OBJ) \ + $(Q) $(LD) --entry=__start $(LDFLAGS) $(LDPATHS) -L$(BOARDDIR) -o $(TOPDIR)/$@ $(HEAD_OBJ) \ --start-group $(LDLIBS) -lboard $(EXTRA_LIBS) $(LIBGCC) --end-group - @$(NM) $(TOPDIR)/$@ | \ + $(Q) $(NM) $(TOPDIR)/$@ | \ grep -v '\(compiled\)\|\(\$(OBJEXT)$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \ sort > $(TOPDIR)/System.map # This is part of the top-level export target export_head: board/libboard$(LIBEXT) $(HEAD_OBJ) - @if [ -d "$(EXPORT_DIR)/startup" ]; then \ + $(Q) if [ -d "$(EXPORT_DIR)/startup" ]; then \ cp -f $(HEAD_OBJ) "$(EXPORT_DIR)/startup"; \ else \ echo "$(EXPORT_DIR)/startup does not exist"; \ @@ -109,25 +123,25 @@ export_head: board/libboard$(LIBEXT) $(HEAD_OBJ) # Dependencies .depend: Makefile chip/Make.defs $(SRCS) - @if [ -e board/Makefile ]; then \ - $(MAKE) -C board TOPDIR="$(TOPDIR)" depend ; \ - fi - @$(MKDEP) --dep-path chip --dep-path common $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ +ifneq ($(BOARDDIR),) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" depend +endif + $(Q) $(MKDEP) --dep-path chip --dep-path common $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep + $(Q) touch $@ depend: .depend clean: - @if [ -e board/Makefile ]; then \ - $(MAKE) -C board TOPDIR="$(TOPDIR)" clean ; \ - fi - @rm -f libarch$(LIBEXT) *~ .*.swp +ifneq ($(BOARDDIR),) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" clean +endif + $(Q) rm -f libarch$(LIBEXT) *~ .*.swp $(call CLEAN) distclean: clean - @if [ -e board/Makefile ]; then \ - $(MAKE) -C board TOPDIR="$(TOPDIR)" distclean ; \ - fi - @rm -f Make.dep .depend +ifneq ($(BOARDDIR),) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" distclean +endif + $(Q) rm -f Make.dep .depend -include Make.dep diff --git a/nuttx/arch/x86/src/Makefile b/nuttx/arch/x86/src/Makefile index b4aa02fb1..56ba0b257 100644 --- a/nuttx/arch/x86/src/Makefile +++ b/nuttx/arch/x86/src/Makefile @@ -68,18 +68,32 @@ LDFLAGS += $(ARCHSCRIPT) EXTRA_LIBS ?= LINKLIBS ?= +ifeq ($(CONFIG_WINDOWS_NATIVE),y) + BOARDDIR = $(dir "$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board\Makefile") + LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)\lib"}" +ifneq ($(BOARDDIR),) + LIBPATHS += -L"${shell cygpath -w $(BOARDDIR)}" +endif + +else + BOARDDIR = $(dir "$(TOPDIR)/arch/$(CONFIG_ARCH)/src/board/Makefile") + ifeq ($(WINTOOL),y) LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)/lib"}" +ifneq ($(BOARDDIR),) LIBPATHS += -L"${shell cygpath -w $(BOARDDIR)}" +endif + else LIBPATHS += -L"(TOPDIR)/lib" +ifneq ($(BOARDDIR),) LIBPATHS += -L"$(BOARDDIR)" endif +endif +endif LDLIBS = $(patsubst %.a,%,$(patsubst lib%,-l%,$(LINKLIBS))) -BOARDDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src/board - LIBGCC = "${shell $(CC) $(ARCHCPUFLAGS) -print-libgcc-file-name}" ifeq ($(HOSTOS),FreeBSD) @@ -103,25 +117,25 @@ $(COBJS): %$(OBJEXT): %.c $(call COMPILE, $<, $@) libarch$(LIBEXT): $(OBJS) - @( for obj in $(OBJS) ; do \ + $(Q) ( for obj in $(OBJS) ; do \ $(call ARCHIVE, $@, $${obj}); \ done ; ) board/libboard$(LIBEXT): - @$(MAKE) -C board TOPDIR="$(TOPDIR)" libboard$(LIBEXT) EXTRADEFINES=$(EXTRADEFINES) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" libboard$(LIBEXT) EXTRADEFINES=$(EXTRADEFINES) nuttx$(EXEEXT): $(HEAD_OBJ) board/libboard$(LIBEXT) @echo "LD: nuttx$(EXEEXT)" - @$(LD) --entry=__start $(LDFLAGS) $(LIBPATHS) -o $(NUTTX)$(EXEEXT) $(HEAD_OBJ) $(EXTRA_OBJS) \ + $(Q) $(LD) --entry=__start $(LDFLAGS) $(LIBPATHS) -o $(NUTTX)$(EXEEXT) $(HEAD_OBJ) $(EXTRA_OBJS) \ --start-group $(LDLIBS) -lboard $(EXTRA_LIBS) $(LIBGCC) --end-group - @$(NM) $(NUTTX)$(EXEEXT) | \ + $(Q) $(NM) $(NUTTX)$(EXEEXT) | \ grep -v '\(compiled\)\|\(\$(OBJEXT)$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \ sort > $(TOPDIR)/System.map # This is part of the top-level export target export_head: board/libboard$(LIBEXT) $(HEAD_OBJ) - @if [ -d "$(EXPORT_DIR)/startup" ]; then \ + $(Q) if [ -d "$(EXPORT_DIR)/startup" ]; then \ cp -f $(HEAD_OBJ) "$(EXPORT_DIR)/startup"; \ else \ echo "$(EXPORT_DIR)/startup does not exist"; \ @@ -131,26 +145,26 @@ export_head: board/libboard$(LIBEXT) $(HEAD_OBJ) # Dependencies .depend: Makefile chip/Make.defs $(SRCS) - @if [ -e board/Makefile ]; then \ - $(MAKE) -C board TOPDIR="$(TOPDIR)" depend ; \ - fi - @$(MKDEP) --dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR) \ +ifneq ($(BOARDDIR),) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" depend +endif + $(Q) $(MKDEP) --dep-path chip --dep-path common --dep-path $(ARCH_SUBDIR) \ $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep - @touch $@ + $(Q) touch $@ depend: .depend clean: - @if [ -e board/Makefile ]; then \ - $(MAKE) -C board TOPDIR="$(TOPDIR)" clean ; \ - fi - @rm -f libarch$(LIBEXT) *~ .*.swp +ifneq ($(BOARDDIR),) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" clean +endif + $(Q) rm -f libarch$(LIBEXT) *~ .*.swp $(call CLEAN) distclean: clean - @if [ -e board/Makefile ]; then \ - $(MAKE) -C board TOPDIR="$(TOPDIR)" distclean ; \ - fi - @rm -f Make.dep .depend +ifneq ($(BOARDDIR),) + $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" distclean +endif + $(Q) rm -f Make.dep .depend -include Make.dep -- cgit v1.2.3