From 7213ccf4de665ee7f1cd215ebee3f85787b6cd5f Mon Sep 17 00:00:00 2001 From: patacongo Date: Wed, 14 Nov 2012 15:55:07 +0000 Subject: More native build fixes -- still problems in apps/ directory git-svn-id: http://svn.code.sf.net/p/nuttx/code/trunk@5352 42af7a65-404d-4744-a932-0658087f49c3 --- nuttx/Makefile.win | 16 +++++----- nuttx/arch/arm/src/Makefile | 39 +++++++++++++++-------- nuttx/arch/avr/src/Makefile | 25 ++++++++++----- nuttx/arch/hc/src/Makefile | 39 +++++++++++++++-------- nuttx/arch/mips/src/Makefile | 39 +++++++++++++++-------- nuttx/arch/sh/src/Makefile | 35 ++++++++++++++++---- nuttx/arch/x86/src/Makefile | 37 +++++++++++++-------- nuttx/arch/z16/src/Makefile | 2 +- nuttx/arch/z80/src/Makefile.zdsii | 2 +- nuttx/configs/stm32f4discovery/winbuild/Make.defs | 16 +++++----- 10 files changed, 163 insertions(+), 87 deletions(-) (limited to 'nuttx') diff --git a/nuttx/Makefile.win b/nuttx/Makefile.win index 549185186..7da6e8e9c 100644 --- a/nuttx/Makefile.win +++ b/nuttx/Makefile.win @@ -69,7 +69,7 @@ BOARD_DIR = configs\$(CONFIG_ARCH_BOARD) ifeq ($(CONFIG_APPS_DIR),) CONFIG_APPS_DIR = ..\apps endif -APPDIR := ${shell if [ -r $(CONFIG_APPS_DIR)\Makefile ]; then echo "$(CONFIG_APPS_DIR)"; fi} +APPDIR := ${shell if exist "$(CONFIG_APPS_DIR)\Makefile" echo "$(CONFIG_APPS_DIR)"} # All add-on directories. # @@ -245,7 +245,7 @@ endif # LINKLIBS derives from NUTTXLIBS and is simply the same list with the subdirectory removed -LINKLIBS = $(patsubst lib\%,%,$(NUTTXLIBS)) +LINKLIBS = $(patsubst lib\\%,%,$(NUTTXLIBS)) # This is the name of the final target (relative to the top level directorty) @@ -339,7 +339,7 @@ include\nuttx\config.h: $(TOPDIR)\.config tools\mkconfig$(HOSTEXEEXT) # Targets used to create dependencies -tools/mkdeps$(HOSTEXEEXT): +tools\mkdeps$(HOSTEXEEXT): $(Q) $(MAKE) -C tools -f Makefile.host TOPDIR="$(TOPDIR)" mkdeps$(HOSTEXEEXT) # dirlinks, and helpers @@ -348,7 +348,7 @@ tools/mkdeps$(HOSTEXEEXT): # setting up symbolic links with 'generic' directory names to specific, # configured directories. # -# Link the apps/include directory to include\apps +# Link the apps\include directory to include\apps include\apps: Make.defs ifneq ($(APPDIR),) @@ -640,10 +640,10 @@ download: $(BIN) # pass1dep: Create pass1 build dependencies # pass2dep: Create pass2 build dependencies -pass1dep: context tools/mkdeps$(HOSTEXEEXT) +pass1dep: context tools\mkdeps$(HOSTEXEEXT) $(Q) for %%G in ($(USERDEPDIRS)) do ( $(MAKE) -C %%G TOPDIR="$(TOPDIR)" depend ) -pass2dep: context tools/mkdeps$(HOSTEXEEXT) +pass2dep: context tools\mkdeps$(HOSTEXEEXT) $(Q) for %%G in ($(KERNDEPDIRS)) do ( $(MAKE) -C %%G TOPDIR="$(TOPDIR)" EXTRADEFINES=$(KDEFINE) depend ) # Configuration targets @@ -686,7 +686,7 @@ export: pass2deps depend: pass1dep pass2dep subdir_clean: - $(Q) for %%G in ($(CLEANDIRS)) do ( if exist %%G/Makefile $(MAKE) -C %%G TOPDIR="$(TOPDIR)" clean ) + $(Q) for %%G in ($(CLEANDIRS)) do ( if exist %%G\Makefile $(MAKE) -C %%G TOPDIR="$(TOPDIR)" clean ) $(Q) $(MAKE) -C tools -f Makefile.host TOPDIR="$(TOPDIR)" clean $(Q) $(MAKE) -C mm -f Makefile.test TOPDIR="$(TOPDIR)" clean ifeq ($(CONFIG_BUILD_2PASS),y) @@ -698,7 +698,7 @@ clean: subdir_clean $(Q) rm -f nuttx-export* subdir_distclean: - $(Q) for %%G in ($(CLEANDIRS)) do ( if exist %%G/Makefile $(MAKE) -C %%G TOPDIR="$(TOPDIR)" distclean ) + $(Q) for %%G in ($(CLEANDIRS)) do ( if exist %%G\Makefile $(MAKE) -C %%G TOPDIR="$(TOPDIR)" distclean ) distclean: clean subdir_distclean clean_context ifeq ($(CONFIG_BUILD_2PASS),y) diff --git a/nuttx/arch/arm/src/Makefile b/nuttx/arch/arm/src/Makefile index fb8d3932d..17e30411e 100644 --- a/nuttx/arch/arm/src/Makefile +++ b/nuttx/arch/arm/src/Makefile @@ -37,7 +37,6 @@ -include $(TOPDIR)/Make.defs -include chip/Make.defs -ARCH_SRCDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src ifeq ($(CONFIG_ARCH_CORTEXM3),y) # Cortex-M3 is ARMv7-M ARCH_SUBDIR = armv7-m else @@ -48,16 +47,28 @@ ARCH_SUBDIR = arm endif endif +ifeq ($(CONFIG_WINDOWS_NATIVE),y) + ARCH_SRCDIR = $(TOPDIR)\arch\$(CONFIG_ARCH)\src + NUTTX = "$(TOPDIR)\nuttx$(EXEEXT)" + CFLAGS += -I$(ARCH_SRCDIR)\chip + CFLAGS += -I$(ARCH_SRCDIR)\common + CFLAGS += -I$(ARCH_SRCDIR)\$(ARCH_SUBDIR) + CFLAGS += -I$(TOPDIR)\sched +else + ARCH_SRCDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src ifeq ($(WINTOOL),y) - NUTTX = "${shell cygpath -w $(TOPDIR)/nuttx}" - CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/chip}" \ - -I "${shell cygpath -w $(ARCH_SRCDIR)/common}" \ - -I "${shell cygpath -w $(ARCH_SRCDIR)/$(ARCH_SUBDIR)}" \ - -I "${shell cygpath -w $(TOPDIR)/sched}" + NUTTX = "${shell cygpath -w $(TOPDIR)/nuttx$(EXEEXT)}" + CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/chip}" + CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/common}" + CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/$(ARCH_SUBDIR)}" + CFLAGS += -I "${shell cygpath -w $(TOPDIR)/sched}" else - NUTTX = $(TOPDIR)/nuttx - CFLAGS += -I$(ARCH_SRCDIR)/chip -I$(ARCH_SRCDIR)/common \ - -I$(ARCH_SRCDIR)/$(ARCH_SUBDIR) -I$(TOPDIR)/sched + NUTTX = "$(TOPDIR)/nuttx$(EXEEXT)" + CFLAGS += -I$(ARCH_SRCDIR)/chip + CFLAGS += -I$(ARCH_SRCDIR)/common + CFLAGS += -I$(ARCH_SRCDIR)/$(ARCH_SUBDIR) + CFLAGS += -I$(TOPDIR)/sched +endif endif HEAD_OBJ = $(HEAD_ASRC:.S=$(OBJEXT)) @@ -78,14 +89,14 @@ EXTRA_LIBPATHS ?= LINKLIBS ?= ifeq ($(CONFIG_WINDOWS_NATIVE),y) - BOARDMAKE = ${shell if exist "$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board\Makefile" (echo "y")} - LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)\lib"}" + BOARDMAKE = $(if $(wildcard .\board\Makefile),y,) + LIBPATHS += -L"$(TOPDIR)\lib" ifeq ($(BOARDMAKE),y) - LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board"}" + LIBPATHS += -L"$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board" endif else - BOARDMAKE = ${shell if [ -r "$(TOPDIR)/arch/$(CONFIG_ARCH)/src/board/Makefile" ]; then echo "y"; fi} + BOARDMAKE = $(if $(wildcard ./board/Makefile),y,) ifeq ($(WINTOOL),y) LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)/lib"}" @@ -127,7 +138,7 @@ libarch$(LIBEXT): $(OBJS) board/libboard$(LIBEXT): $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" libboard$(LIBEXT) EXTRADEFINES=$(EXTRADEFINES) -nuttx: $(HEAD_OBJ) board/libboard$(LIBEXT) +nuttx$(EXEEXT): $(HEAD_OBJ) board/libboard$(LIBEXT) $(Q) echo "LD: nuttx" $(Q) $(LD) --entry=__start $(LDFLAGS) $(LIBPATHS) $(EXTRA_LIBPATHS) \ -o $(NUTTX)$(EXEEXT) $(HEAD_OBJ) $(EXTRA_OBJS) \ diff --git a/nuttx/arch/avr/src/Makefile b/nuttx/arch/avr/src/Makefile index cd4e9012d..1d4fed381 100644 --- a/nuttx/arch/avr/src/Makefile +++ b/nuttx/arch/avr/src/Makefile @@ -37,26 +37,35 @@ -include $(TOPDIR)/Make.defs -include chip/Make.defs -ARCH_SRCDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src ifeq ($(CONFIG_ARCH_AVR32),y) ARCH_SUBDIR = avr32 else ifeq ($(CONFIG_ARCH_AVR),y) ARCH_SUBDIR = avr endif +ifeq ($(CONFIG_WINDOWS_NATIVE),y) + ARCH_SRCDIR = $(TOPDIR)\arch\$(CONFIG_ARCH)\src + NUTTX = "$(TOPDIR)\nuttx$(EXEEXT)" + INCLUDES += -I "$(ARCH_SRCDIR)\chip" + INCLUDES += -I "$(ARCH_SRCDIR)\common" + INCLUDES += -I "$(ARCH_SRCDIR)\$(ARCH_SUBDIR)" + INCLUDES += -I "$(TOPDIR)\sched" +else + ARCH_SRCDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src ifeq ($(WINTOOL),y) - NUTTX = "${shell cygpath -w $(TOPDIR)/nuttx}" + NUTTX = "${shell cygpath -w $(TOPDIR)/nuttx$(EXEEXT)}" INCLUDES += -I "${shell cygpath -w $(ARCH_SRCDIR)/chip}" INCLUDES += -I "${shell cygpath -w $(ARCH_SRCDIR)/common}" INCLUDES += -I "${shell cygpath -w $(ARCH_SRCDIR)/$(ARCH_SUBDIR)}" INCLUDES += -I "${shell cygpath -w $(TOPDIR)/sched}" else - NUTTX = "$(TOPDIR)/nuttx" + NUTTX = "$(TOPDIR)/nuttx$(EXEEXT)" INCLUDES += -I "$(ARCH_SRCDIR)/chip" INCLUDES += -I "$(ARCH_SRCDIR)/common" INCLUDES += -I "$(ARCH_SRCDIR)/$(ARCH_SUBDIR)" INCLUDES += -I "$(TOPDIR)/sched" endif +endif CPPFLAGS += $(INCLUDES) CFLAGS += $(INCLUDES) @@ -79,14 +88,14 @@ EXTRA_LIBS ?= LINKLIBS ?= ifeq ($(CONFIG_WINDOWS_NATIVE),y) - BOARDMAKE = ${shell if exist "$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board\Makefile" (echo "y")} - LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)\lib"}" + BOARDMAKE = $(if $(wildcard .\board\Makefile),y,) + LIBPATHS += -L"$(TOPDIR)\lib" ifeq ($(BOARDMAKE),y) - LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board"}" + LIBPATHS += -L"$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board" endif else - BOARDMAKE = ${shell if [ -r "$(TOPDIR)/arch/$(CONFIG_ARCH)/src/board/Makefile" ]; then echo "y"; fi} + BOARDMAKE = $(if $(wildcard ./board/Makefile),y,) ifeq ($(WINTOOL),y) LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)/lib"}" @@ -127,7 +136,7 @@ libarch$(LIBEXT): $(OBJS) board/libboard$(LIBEXT): $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" libboard$(LIBEXT) EXTRADEFINES=$(EXTRADEFINES) -nuttx: $(HEAD_OBJ) board/libboard$(LIBEXT) +nuttx$(EXEEXT): $(HEAD_OBJ) board/libboard$(LIBEXT) @echo "LD: nuttx" $(Q) $(LD) --entry=__start $(LDFLAGS) $(LIBPATHS) -o $(NUTTX)$(EXEEXT) $(HEAD_OBJ) $(EXTRA_OBJS) \ --start-group $(LDLIBS) $(EXTRA_LIBS) $(LIBGCC) --end-group diff --git a/nuttx/arch/hc/src/Makefile b/nuttx/arch/hc/src/Makefile index 7a3e9d032..60e6a863b 100644 --- a/nuttx/arch/hc/src/Makefile +++ b/nuttx/arch/hc/src/Makefile @@ -36,7 +36,6 @@ -include $(TOPDIR)/Make.defs -include chip/Make.defs -ARCH_SRCDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src ifeq ($(CONFIG_ARCH_HC12),y) ARCH_SUBDIR = hc12 endif @@ -44,16 +43,28 @@ ifeq ($(CONFIG_ARCH_HCS12),y) ARCH_SUBDIR = hcs12 endif +ifeq ($(CONFIG_WINDOWS_NATIVE),y) + ARCH_SRCDIR = $(TOPDIR)\arch\$(CONFIG_ARCH)\src + NUTTX = "$(TOPDIR)\nuttx$(EXEEXT)" + CFLAGS += -I$(ARCH_SRCDIR)\chip + CFLAGS += -I$(ARCH_SRCDIR)\common + CFLAGS += -I$(ARCH_SRCDIR)\$(ARCH_SUBDIR) + CFLAGS += -I$(TOPDIR)\sched +else + ARCH_SRCDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src ifeq ($(WINTOOL),y) - NUTTX = "${shell cygpath -w $(TOPDIR)/nuttx}" - CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/chip}" \ - -I "${shell cygpath -w $(ARCH_SRCDIR)/common}" \ - -I "${shell cygpath -w $(ARCH_SRCDIR)/$(ARCH_SUBDIR)}" \ - -I "${shell cygpath -w $(TOPDIR)/sched}" + NUTTX = "${shell cygpath -w $(TOPDIR)/nuttx$(EXEEXT)}" + CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/chip}" + CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/common}" + CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/$(ARCH_SUBDIR)}" + CFLAGS += -I "${shell cygpath -w $(TOPDIR)/sched}" else - NUTTX = $(TOPDIR)/nuttx - CFLAGS += -I$(ARCH_SRCDIR)/chip -I$(ARCH_SRCDIR)/common \ - -I$(ARCH_SRCDIR)/$(ARCH_SUBDIR) -I$(TOPDIR)/sched + NUTTX = "$(TOPDIR)/nuttx$(EXEEXT)" + CFLAGS += -I$(ARCH_SRCDIR)/chip + CFLAGS += -I$(ARCH_SRCDIR)/common + CFLAGS += -I$(ARCH_SRCDIR)/$(ARCH_SUBDIR) + CFLAGS += -I$(TOPDIR)/sched +endif endif HEAD_OBJ = $(HEAD_ASRC:.S=$(OBJEXT)) @@ -72,14 +83,14 @@ EXTRA_LIBS ?= LINKLIBS ?= ifeq ($(CONFIG_WINDOWS_NATIVE),y) - BOARDMAKE = ${shell if exist "$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board\Makefile" (echo "y")} - LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)\lib"}" + BOARDMAKE = $(if $(wildcard .\board\Makefile),y,) + LIBPATHS += -L"$(TOPDIR)\lib" ifeq ($(BOARDMAKE),y) - LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board"}" + LIBPATHS += -L"$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board" endif else - BOARDMAKE = ${shell if [ -r "$(TOPDIR)/arch/$(CONFIG_ARCH)/src/board/Makefile" ]; then echo "y"; fi} + BOARDMAKE = $(if $(wildcard ./board/Makefile),y,) ifeq ($(WINTOOL),y) LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)/lib"}" @@ -119,7 +130,7 @@ libarch$(LIBEXT): $(OBJS) board/libboard$(LIBEXT): $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" libboard$(LIBEXT) EXTRADEFINES=$(EXTRADEFINES) -nuttx: $(HEAD_OBJ) board/libboard$(LIBEXT) +nuttx$(EXEEXT): $(HEAD_OBJ) board/libboard$(LIBEXT) $(Q) echo "LD: nuttx" $(Q) $(LD) --entry=__start $(LDFLAGS) $(LIBPATHS) -o $(NUTTX)$(EXEEXT) $(HEAD_OBJ) \ --start-group $(LDLIBS) $(EXTRA_LIBS) $(LIBGCC) --end-group diff --git a/nuttx/arch/mips/src/Makefile b/nuttx/arch/mips/src/Makefile index 8d02ac59c..14388a90d 100644 --- a/nuttx/arch/mips/src/Makefile +++ b/nuttx/arch/mips/src/Makefile @@ -36,21 +36,32 @@ -include $(TOPDIR)/Make.defs -include chip/Make.defs -ARCH_SRCDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src ifeq ($(CONFIG_ARCH_MIPS),y) ARCH_SUBDIR = mips32 endif +ifeq ($(CONFIG_WINDOWS_NATIVE),y) + ARCH_SRCDIR = $(TOPDIR)\arch\$(CONFIG_ARCH)\src + NUTTX = $(TOPDIR)\nuttx$(EXEEXT) + CFLAGS += -I$(ARCH_SRCDIR)\chip + CFLAGS += -I$(ARCH_SRCDIR)\common + CFLAGS += -I$(ARCH_SRCDIR)\$(ARCH_SUBDIR) + CFLAGS += -I$(TOPDIR)\sched +else + ARCH_SRCDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src ifeq ($(WINTOOL),y) - NUTTX = "${shell cygpath -w $(TOPDIR)/nuttx}" - CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/chip}" \ - -I "${shell cygpath -w $(ARCH_SRCDIR)/common}" \ - -I "${shell cygpath -w $(ARCH_SRCDIR)/$(ARCH_SUBDIR)}" \ - -I "${shell cygpath -w $(TOPDIR)/sched}" + NUTTX = "${shell cygpath -w $(TOPDIR)/nuttx$(EXEEXT)}" + CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/chip}" + CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/common}" + CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/$(ARCH_SUBDIR)}" + CFLAGS += -I "${shell cygpath -w $(TOPDIR)/sched}" else - NUTTX = $(TOPDIR)/nuttx - CFLAGS += -I$(ARCH_SRCDIR)/chip -I$(ARCH_SRCDIR)/common \ - -I$(ARCH_SRCDIR)/$(ARCH_SUBDIR) -I$(TOPDIR)/sched + NUTTX = $(TOPDIR)/nuttx$(EXEEXT) + CFLAGS += -I$(ARCH_SRCDIR)/chip + CFLAGS += -I$(ARCH_SRCDIR)/common + CFLAGS += -I$(ARCH_SRCDIR)/$(ARCH_SUBDIR) + CFLAGS += -I$(TOPDIR)/sched +endif endif HEAD_OBJ = $(HEAD_ASRC:.S=$(OBJEXT)) @@ -69,14 +80,14 @@ EXTRA_LIBS ?= LINKLIBS ?= ifeq ($(CONFIG_WINDOWS_NATIVE),y) - BOARDMAKE = ${shell if exist "$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board\Makefile" (echo "y")} - LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)\lib"}" + BOARDMAKE = $(if $(wildcard .\board\Makefile),y,) + LIBPATHS += -L"$(TOPDIR)\lib" ifeq ($(BOARDMAKE),y) - LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board"}" + LIBPATHS += -L"$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board" endif else - BOARDMAKE := ${shell if [ -r "$(TOPDIR)/arch/$(CONFIG_ARCH)/src/board/Makefile" ]; then echo "y"; fi} + BOARDMAKE = $(if $(wildcard ./board/Makefile),y,) ifeq ($(WINTOOL),y) LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)/lib"}" @@ -117,7 +128,7 @@ libarch$(LIBEXT): $(OBJS) board/libboard$(LIBEXT): $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" libboard$(LIBEXT) EXTRADEFINES=$(EXTRADEFINES) -nuttx: $(HEAD_OBJ) board/libboard$(LIBEXT) +nuttx$(EXEEXT): $(HEAD_OBJ) board/libboard$(LIBEXT) @echo "LD: nuttx" $(Q) $(LD) --entry=__start $(LDFLAGS) $(LIBPATHS) -o $(NUTTX)$(EXEEXT) $(HEAD_OBJ) $(EXTRA_OBJS) \ --start-group $(LDLIBS) $(EXTRA_LIBS) $(LIBGCC) --end-group diff --git a/nuttx/arch/sh/src/Makefile b/nuttx/arch/sh/src/Makefile index d6f3ed634..9fa8ea447 100644 --- a/nuttx/arch/sh/src/Makefile +++ b/nuttx/arch/sh/src/Makefile @@ -36,7 +36,30 @@ -include $(TOPDIR)/Make.defs -include chip/Make.defs -ARCH_SRCDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src +ifeq ($(CONFIG_WINDOWS_NATIVE),y) + ARCH_SRCDIR = $(TOPDIR)\arch\$(CONFIG_ARCH)\src + NUTTX = $(TOPDIR)\nuttx$(EXEEXT) + CFLAGS += -I$(ARCH_SRCDIR)\chip + CFLAGS += -I$(ARCH_SRCDIR)\common + CFLAGS += -I$(ARCH_SRCDIR)\$(ARCH_SUBDIR) + CFLAGS += -I$(TOPDIR)\sched +else + ARCH_SRCDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src +ifeq ($(WINTOOL),y) + NUTTX = "${shell cygpath -w $(TOPDIR)/nuttx$(EXEEXT)}" + CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/chip}" + CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/common}" + CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/$(ARCH_SUBDIR)}" + CFLAGS += -I "${shell cygpath -w $(TOPDIR)/sched}" +else + NUTTX = $(TOPDIR)/nuttx$(EXEEXT) + CFLAGS += -I$(ARCH_SRCDIR)/chip + CFLAGS += -I$(ARCH_SRCDIR)/common + CFLAGS += -I$(ARCH_SRCDIR)/$(ARCH_SUBDIR) + CFLAGS += -I$(TOPDIR)/sched +endif +endif + CFLAGS += -I$(ARCH_SRCDIR)/chip -I$(ARCH_SRCDIR)/common -I$(TOPDIR)/sched HEAD_OBJ = $(HEAD_ASRC:.S=$(OBJEXT)) @@ -55,14 +78,14 @@ EXTRA_LIBS ?= LINKLIBS ?= ifeq ($(CONFIG_WINDOWS_NATIVE),y) - BOARDMAKE = ${shell if exist "$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board\Makefile" (echo "y")} - LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)\lib"}" + BOARDMAKE = $(if $(wildcard .\board\Makefile),y,) + LIBPATHS += -L"$(TOPDIR)\lib" ifeq ($(BOARDMAKE),y) - LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board"}" + LIBPATHS += -L"$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board" endif else - BOARDMAKE = ${shell if [ -r "$(TOPDIR)/arch/$(CONFIG_ARCH)/src/board/Makefile" ]; then echo "y"; fi} + BOARDMAKE = $(if $(wildcard ./board/Makefile),y,) ifeq ($(WINTOOL),y) LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)/lib"}" @@ -103,7 +126,7 @@ libarch$(LIBEXT): $(OBJS) board/libboard$(LIBEXT): $(Q) $(MAKE) -C board TOPDIR="$(TOPDIR)" libboard$(LIBEXT) EXTRADEFINES=$(EXTRADEFINES) -nuttx: $(HEAD_OBJ) board/libboard$(LIBEXT) +nuttx$(EXEEXT): $(HEAD_OBJ) board/libboard$(LIBEXT) @echo "LD: nuttx" $(Q) $(LD) --entry=__start $(LDFLAGS) $(LIBPATHS) -o $(TOPDIR)/$@ $(HEAD_OBJ) \ --start-group $(LDLIBS) $(EXTRA_LIBS) $(LIBGCC) --end-group diff --git a/nuttx/arch/x86/src/Makefile b/nuttx/arch/x86/src/Makefile index 9e9abb9e2..dc35d0db3 100644 --- a/nuttx/arch/x86/src/Makefile +++ b/nuttx/arch/x86/src/Makefile @@ -36,21 +36,32 @@ -include $(TOPDIR)/Make.defs -include chip/Make.defs -ARCH_SRCDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src ifeq ($(CONFIG_ARCH_I486),y) ARCH_SUBDIR = i486 endif +ifeq ($(CONFIG_WINDOWS_NATIVE),y) + ARCH_SRCDIR = $(TOPDIR)\arch\$(CONFIG_ARCH)\src + NUTTX = $(TOPDIR)\nuttx$(EXEEXT) + CFLAGS += -I$(ARCH_SRCDIR)\chip + CFLAGS += -I$(ARCH_SRCDIR)\common + CFLAGS += -I$(ARCH_SRCDIR)\$(ARCH_SUBDIR) + CFLAGS += -I$(TOPDIR)\sched +else + ARCH_SRCDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src ifeq ($(WINTOOL),y) - NUTTX = "${shell cygpath -w $(TOPDIR)/nuttx}" - CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/chip}" \ - -I "${shell cygpath -w $(ARCH_SRCDIR)/common}" \ - -I "${shell cygpath -w $(ARCH_SRCDIR)/$(ARCH_SUBDIR)}" \ - -I "${shell cygpath -w $(TOPDIR)/sched}" + NUTTX = "${shell cygpath -w $(TOPDIR)/nuttx$(EXEEXT)}" + CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/chip}" + CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/common}" + CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/$(ARCH_SUBDIR)}" + CFLAGS += -I "${shell cygpath -w $(TOPDIR)/sched}" else - NUTTX = $(TOPDIR)/nuttx - CFLAGS += -I$(ARCH_SRCDIR)/chip -I$(ARCH_SRCDIR)/common \ - -I$(ARCH_SRCDIR)/$(ARCH_SUBDIR) -I$(TOPDIR)/sched + NUTTX = $(TOPDIR)/nuttx$(EXEEXT) + CFLAGS += -I$(ARCH_SRCDIR)/chip + CFLAGS += -I$(ARCH_SRCDIR)/common + CFLAGS += -I$(ARCH_SRCDIR)/$(ARCH_SUBDIR) + CFLAGS += -I$(TOPDIR)/sched +endif endif HEAD_OBJ = $(HEAD_ASRC:.S=$(OBJEXT)) @@ -69,14 +80,14 @@ EXTRA_LIBS ?= LINKLIBS ?= ifeq ($(CONFIG_WINDOWS_NATIVE),y) - BOARDMAKE = ${shell if exist "$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board\Makefile" (echo "y")} - LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)\lib"}" + BOARDMAKE = $(if $(wildcard .\board\Makefile),y,) + LIBPATHS += -L"$(TOPDIR)\lib" ifeq ($(BOARDMAKE),y) - LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board"}" + LIBPATHS += -L"$(TOPDIR)\arch\$(CONFIG_ARCH)\src\board" endif else - BOARDMAKE = ${shell if [ -r "$(TOPDIR)/arch/$(CONFIG_ARCH)/src/board/Makefile" ]; then echo "y"; fi} + BOARDMAKE = $(if $(wildcard ./board/Makefile),y,) ifeq ($(WINTOOL),y) LIBPATHS += -L"${shell cygpath -w "$(TOPDIR)/lib"}" diff --git a/nuttx/arch/z16/src/Makefile b/nuttx/arch/z16/src/Makefile index f2d09e14f..3e2f487ff 100644 --- a/nuttx/arch/z16/src/Makefile +++ b/nuttx/arch/z16/src/Makefile @@ -109,7 +109,7 @@ nuttx.linkcmd: endif nuttx$(EXEEXT): $(HEAD_OBJ) board/libboard$(LIBEXT) nuttx.linkcmd - @echo "LD: nuttx.hex" + @echo "LD: nuttx$(EXEEXT)" @$(LD) $(LDFLAGS) .depend: Makefile chip/Make.defs $(DEPSRCS) diff --git a/nuttx/arch/z80/src/Makefile.zdsii b/nuttx/arch/z80/src/Makefile.zdsii index 3a1727aef..93d80d2dd 100644 --- a/nuttx/arch/z80/src/Makefile.zdsii +++ b/nuttx/arch/z80/src/Makefile.zdsii @@ -122,7 +122,7 @@ ifeq ($(CONFIG_ARCH_CHIP_EZ80F91),y) endif nuttx$(EXEEXT): $(HEAD_OBJ) board/libboard$(LIBEXT) nuttx.linkcmd - @echo "LD: nuttx.hex" + @echo "LD: nuttx$(EXEEXT)" $(Q) "$(LD)" $(LDFLAGS) .depend: Makefile chip/Make.defs $(DEPSRCS) diff --git a/nuttx/configs/stm32f4discovery/winbuild/Make.defs b/nuttx/configs/stm32f4discovery/winbuild/Make.defs index 54b6c03ea..6110b7bbd 100644 --- a/nuttx/configs/stm32f4discovery/winbuild/Make.defs +++ b/nuttx/configs/stm32f4discovery/winbuild/Make.defs @@ -33,8 +33,8 @@ # ############################################################################ -include ${TOPDIR}/.config -include ${TOPDIR}/tools/Config.mk +include ${TOPDIR}\.config +include ${TOPDIR}\tools\Config.mk # Setup for the selected toolchain @@ -81,9 +81,9 @@ LDSCRIPT = ld.script # Windows-native toolchains -ARCHINCLUDES = -I. -isystem $(TOPDIR)/include -ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx -ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/$(LDSCRIPT) +ARCHINCLUDES = -I. -isystem $(TOPDIR)\include +ARCHXXINCLUDES = -I. -isystem $(TOPDIR)\include -isystem $(TOPDIR)\include\cxx +ARCHSCRIPT = -T$(TOPDIR)\configs\$(CONFIG_ARCH_BOARD)\scripts\$(LDSCRIPT) CC = $(CROSSDEV)gcc.exe CXX = $(CROSSDEV)g++.exe @@ -118,12 +118,12 @@ CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) AFLAGS = $(CFLAGS) -D__ASSEMBLY__ NXFLATLDFLAGS1 = -r -d -warn-common -NXFLATLDFLAGS2 = $(NXFLATLDFLAGS1) -T$(TOPDIR)/binfmt/libnxflat/gnu-nxflat-pcrel.ld -no-check-sections +NXFLATLDFLAGS2 = $(NXFLATLDFLAGS1) -T$(TOPDIR)\binfmt\libnxflat\gnu-nxflat-pcrel.ld -no-check-sections LDNXFLATFLAGS = -e main -s 2048 OBJEXT = .o LIBEXT = .a -EXEEXT = .exe +EXEEXT = LDFLAGS += -nostartfiles -nodefaultlibs ifeq ($(CONFIG_DEBUG_SYMBOLS),y) @@ -138,5 +138,5 @@ HOSTEXEEXT = .exe # Windows-native host tools -MKDEP = $(TOPDIR)/tools/mkdeps.exe --winnative +MKDEP = $(TOPDIR)\tools\mkdeps.exe --winnative -- cgit v1.2.3