summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-11-21 19:54:44 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-11-21 19:54:44 +0000
commit3689d913ceb2bb52b808e0e5598e83bcfdd88134 (patch)
tree8d04a7378abacc76fc1078ee585c593f141ecc64
parent14a77ec91b12454c9106836b3d4a08c63a098e1d (diff)
downloadnuttx-3689d913ceb2bb52b808e0e5598e83bcfdd88134.tar.gz
nuttx-3689d913ceb2bb52b808e0e5598e83bcfdd88134.tar.bz2
nuttx-3689d913ceb2bb52b808e0e5598e83bcfdd88134.zip
/configs/stm32f4discovery/winbuild and configs/cloudctrl upated to use Mike's Toolchain.defs; Fix error introduced into tools/configure.sh
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5380 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--apps/graphics/Makefile6
-rw-r--r--nuttx/ChangeLog7
-rw-r--r--nuttx/arch/arm/src/armv7-m/Toolchain.defs10
-rw-r--r--nuttx/arch/mips/src/mips32/Toolchain.defs6
-rw-r--r--nuttx/configs/cloudctrl/nsh/Make.defs58
-rw-r--r--nuttx/configs/stm32f4discovery/src/Makefile58
-rw-r--r--nuttx/configs/stm32f4discovery/winbuild/Make.defs44
-rwxr-xr-xnuttx/configs/stm32f4discovery/winbuild/setenv.bat8
-rwxr-xr-xnuttx/tools/configure.sh6
9 files changed, 67 insertions, 136 deletions
diff --git a/apps/graphics/Makefile b/apps/graphics/Makefile
index 94d2ff5c0..a5d67b676 100644
--- a/apps/graphics/Makefile
+++ b/apps/graphics/Makefile
@@ -33,7 +33,7 @@
#
############################################################################
--include $(TOPDIR)/.config # Current configuration
+-include $(TOPDIR)/.config
# Sub-directories
@@ -51,14 +51,14 @@ $(1)_$(2):
$(Q) $(MAKE) -C $(1) $(2) TOPDIR="$(TOPDIR)" APPDIR="$(APPDIR)"
endef
-$(foreach SDIR, $(CNTXTDIRS), $(eval $(call SDIR_template,$(SDIR),context)))
+# $(foreach SDIR, $(CNTXTDIRS), $(eval $(call SDIR_template,$(SDIR),context)))
$(foreach SDIR, $(SUBDIRS), $(eval $(call SDIR_template,$(SDIR),depend)))
$(foreach SDIR, $(SUBDIRS), $(eval $(call SDIR_template,$(SDIR),clean)))
$(foreach SDIR, $(SUBDIRS), $(eval $(call SDIR_template,$(SDIR),distclean)))
nothing:
-context: $(foreach SDIR, $(CNTXTDIRS), $(SDIR)_context)
+context: # $(foreach SDIR, $(CNTXTDIRS), $(SDIR)_context)
depend: $(foreach SDIR, $(SUBDIRS), $(SDIR)_depend)
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index 452dd3519..103c03de3 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -3659,4 +3659,11 @@
* configs/cloudctrl: Darcy Gong's CloudController board. This is a
small network relay development board. Based on the Shenzhou IV development
board design. It is based on the STM32F107VC MCU.
+ * Lots of build files: ARMv7-M and MIPS32 Make.defs now include a common
+ Toolchain.defs file that can be used to manage toolchains in a more
+ configurable way. Contributed by Mike Smith
+ * configs/stm32f4discovery/winbuild and configs/cloudctrl: Adapted to use
+ Mike's Toolchain.defs.
+ * tools/configure.sh: Adapted to handle paths and setenv.bat files correctly
+ for native Windows builds.
diff --git a/nuttx/arch/arm/src/armv7-m/Toolchain.defs b/nuttx/arch/arm/src/armv7-m/Toolchain.defs
index ab77e3eb3..e39d7f414 100644
--- a/nuttx/arch/arm/src/armv7-m/Toolchain.defs
+++ b/nuttx/arch/arm/src/armv7-m/Toolchain.defs
@@ -143,7 +143,9 @@ endif
ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),ATOLLIC)
CROSSDEV = arm-atollic-eabi-
ARCROSSDEV = arm-atollic-eabi-
+ifneq ($(CONFIG_WINDOWS_NATIVE),y)
WINTOOL = y
+endif
ifeq ($(CONFIG_ARCH_CORTEXM4),y)
ifeq ($(CONFIG_ARCH_FPU),y)
ARCHCPUFLAGS = -mcpu=cortex-m4 -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard
@@ -190,7 +192,9 @@ endif
ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),CODEREDW)
CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
+ifneq ($(CONFIG_WINDOWS_NATIVE),y)
WINTOOL = y
+endif
ifeq ($(CONFIG_ARCH_CORTEXM4),y)
ifeq ($(CONFIG_ARCH_FPU),y)
ARCHCPUFLAGS = -mcpu=cortex-m4 -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard
@@ -216,7 +220,9 @@ endif
ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),CODESOURCERYW)
CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
+ifneq ($(CONFIG_WINDOWS_NATIVE),y)
WINTOOL = y
+endif
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
@@ -225,7 +231,9 @@ endif
ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),DEVKITARM)
CROSSDEV = arm-eabi-
ARCROSSDEV = arm-eabi-
+ifneq ($(CONFIG_WINDOWS_NATIVE),y)
WINTOOL = y
+endif
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
@@ -251,6 +259,8 @@ endif
ifeq ($(CONFIG_ARMV7M_TOOLCHAIN),RAISONANCE)
CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
+ifneq ($(CONFIG_WINDOWS_NATIVE),y)
WINTOOL = y
+endif
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
diff --git a/nuttx/arch/mips/src/mips32/Toolchain.defs b/nuttx/arch/mips/src/mips32/Toolchain.defs
index 9a39c5eda..554e5f044 100644
--- a/nuttx/arch/mips/src/mips32/Toolchain.defs
+++ b/nuttx/arch/mips/src/mips32/Toolchain.defs
@@ -131,7 +131,9 @@ endif
ifeq ($(CONFIG_MIPS32_TOOLCHAIN),MICROCHIPW)
CROSSDEV = pic32-
# CROSSDEV = xc32-
+ifneq ($(CONFIG_WINDOWS_NATIVE),y)
WINTOOL = y
+endif
MAXOPTIMIZATION = -O2
ARCHCPUFLAGS = -mprocessor=elf32pic32mx -mno-float -mlong32 -membedded-data
ARCHPICFLAGS = -fpic -membedded-pic
@@ -156,7 +158,9 @@ endif
ifeq ($(CONFIG_MIPS32_TOOLCHAIN),MICROCHIPW_LITE)
CROSSDEV = pic32-
# CROSSDEV = xc32-
+ifneq ($(CONFIG_WINDOWS_NATIVE),y)
WINTOOL = y
+endif
# MAXOPTIMIZATION = -O2
ARCHCPUFLAGS = -mprocessor=elf32pic32mx -mno-float -mlong32 -membedded-data
ARCHPICFLAGS = -fpic -membedded-pic
@@ -179,7 +183,9 @@ endif
ifeq ($(CONFIG_MIPS32_TOOLCHAIN),PINGUINOW)
CROSSDEV = mips-
+ifneq ($(CONFIG_WINDOWS_NATIVE),y)
WINTOOL = y
+endif
MAXOPTIMIZATION = -O2
ARCHCPUFLAGS = -mlong32 -membedded-data -msoft-float -march=24kc -EL
ARCHPICFLAGS = -fpic -membedded-pic
diff --git a/nuttx/configs/cloudctrl/nsh/Make.defs b/nuttx/configs/cloudctrl/nsh/Make.defs
index a33f8d317..2b5302947 100644
--- a/nuttx/configs/cloudctrl/nsh/Make.defs
+++ b/nuttx/configs/cloudctrl/nsh/Make.defs
@@ -35,63 +35,7 @@
include ${TOPDIR}/.config
include ${TOPDIR}/tools/Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_STM32_CODESOURCERYW),y)
- # CodeSourcery under Windows
- CROSSDEV = arm-none-eabi-
- ARCROSSDEV = arm-none-eabi-
- WINTOOL = y
- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
-endif
-ifeq ($(CONFIG_STM32_CODESOURCERYL),y)
- # CodeSourcery under Linux
- CROSSDEV = arm-none-eabi-
- ARCROSSDEV = arm-none-eabi-
- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
- MAXOPTIMIZATION = -O2
-endif
-ifeq ($(CONFIG_STM32_ATOLLIC_LITE),y)
- # Atollic toolchain under Windows
- CROSSDEV = arm-atollic-eabi-
- ARCROSSDEV =
- WINTOOL = y
- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
-endif
-ifeq ($(CONFIG_STM32_ATOLLIC_PRO),y)
- # Atollic toolchain under Windows
- CROSSDEV = arm-atollic-eabi-
- ARCROSSDEV = arm-atollic-eabi-
- WINTOOL = y
- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
-endif
-ifeq ($(CONFIG_STM32_DEVKITARM),y)
- # devkitARM under Windows
- CROSSDEV = arm-eabi-
- ARCROSSDEV = arm-eabi-
- WINTOOL = y
- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
-endif
-ifeq ($(CONFIG_STM32_RAISONANCE),y)
- # Raisonance RIDE7 under Windows
- CROSSDEV = arm-none-eabi-
- ARCROSSDEV = arm-none-eabi-
- WINTOOL = y
- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
-endif
-ifeq ($(CONFIG_STM32_BUILDROOT),y)
- # NuttX buildroot under Linux or Cygwin
- # OABI
- # CROSSDEV = arm-nuttx-elf-
- # ARCROSSDEV = arm-nuttx-elf-
- # ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
- # EABI
- CROSSDEV = arm-nuttx-eabi-
- ARCROSSDEV = arm-nuttx-eabi-
- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
- MAXOPTIMIZATION = -Os
-endif
+include ${TOPDIR}/arch/arm/src/armv7-m/Toolchain.defs
# Pick the linker script
diff --git a/nuttx/configs/stm32f4discovery/src/Makefile b/nuttx/configs/stm32f4discovery/src/Makefile
index 82ea0d1dd..68419e5d0 100644
--- a/nuttx/configs/stm32f4discovery/src/Makefile
+++ b/nuttx/configs/stm32f4discovery/src/Makefile
@@ -35,83 +35,87 @@
-include $(TOPDIR)/Make.defs
-CFLAGS += -I$(TOPDIR)/sched
+CFLAGS += -I$(TOPDIR)/sched
-ASRCS =
-AOBJS = $(ASRCS:.S=$(OBJEXT))
+ASRCS =
+AOBJS = $(ASRCS:.S=$(OBJEXT))
-CSRCS = up_boot.c up_spi.c
+CSRCS = up_boot.c up_spi.c
ifeq ($(CONFIG_HAVE_CXX),y)
-CSRCS += up_cxxinitialize.c
+CSRCS += up_cxxinitialize.c
endif
ifeq ($(CONFIG_ARCH_LEDS),y)
-CSRCS += up_autoleds.c
+CSRCS += up_autoleds.c
else
-CSRCS += up_userleds.c
+CSRCS += up_userleds.c
endif
ifeq ($(CONFIG_ARCH_BUTTONS),y)
-CSRCS += up_buttons.c
+CSRCS += up_buttons.c
endif
ifeq ($(CONFIG_STM32_OTGFS),y)
-CSRCS += up_usb.c
+CSRCS += up_usb.c
endif
ifeq ($(CONFIG_PWM),y)
-CSRCS += up_pwm.c
+CSRCS += up_pwm.c
endif
ifeq ($(CONFIG_QENCODER),y)
-CSRCS += up_qencoder.c
+CSRCS += up_qencoder.c
endif
ifeq ($(CONFIG_WATCHDOG),y)
-CSRCS += up_watchdog.c
+CSRCS += up_watchdog.c
endif
ifeq ($(CONFIG_NSH_ARCHINIT),y)
-CSRCS += up_nsh.c
+CSRCS += up_nsh.c
endif
ifeq ($(CONFIG_PM_CUSTOMINIT),y)
-CSRCS += up_pm.c
+CSRCS += up_pm.c
endif
ifeq ($(CONFIG_PM_BUTTONS),y)
-CSRCS += up_pmbuttons.c
+CSRCS += up_pmbuttons.c
endif
ifeq ($(CONFIG_IDLE_CUSTOM),y)
-CSRCS += up_idle.c
+CSRCS += up_idle.c
endif
ifeq ($(CONFIG_STM32_FSMC),y)
-CSRCS += up_extmem.c
+CSRCS += up_extmem.c
ifeq ($(CONFIG_LCD_SSD1289),y)
-CSRCS += up_ssd1289.c
+CSRCS += up_ssd1289.c
endif
endif
ifeq ($(CONFIG_LCD_UG2864AMBAG01),y)
-CSRCS += up_ug2864ambag01.c
+CSRCS += up_ug2864ambag01.c
endif
-COBJS = $(CSRCS:.c=$(OBJEXT))
+COBJS = $(CSRCS:.c=$(OBJEXT))
-SRCS = $(ASRCS) $(CSRCS)
-OBJS = $(AOBJS) $(COBJS)
+SRCS = $(ASRCS) $(CSRCS)
+OBJS = $(AOBJS) $(COBJS)
-ARCH_SRCDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src
+ARCH_SRCDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src
+ifeq ($(CONFIG_WINDOWS_NATIVE),y)
+ CFLAGS += -I$(ARCH_SRCDIR)\chip -I$(ARCH_SRCDIR)\common -I$(ARCH_SRCDIR)\armv7-m
+else
ifeq ($(WINTOOL),y)
- CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/chip}" \
- -I "${shell cygpath -w $(ARCH_SRCDIR)/common}" \
- -I "${shell cygpath -w $(ARCH_SRCDIR)/armv7-m}"
+ CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/chip}" \
+ -I "${shell cygpath -w $(ARCH_SRCDIR)/common}" \
+ -I "${shell cygpath -w $(ARCH_SRCDIR)/armv7-m}"
else
- CFLAGS += -I$(ARCH_SRCDIR)/chip -I$(ARCH_SRCDIR)/common -I$(ARCH_SRCDIR)/armv7-m
+ CFLAGS += -I$(ARCH_SRCDIR)/chip -I$(ARCH_SRCDIR)/common -I$(ARCH_SRCDIR)/armv7-m
+endif
endif
all: libboard$(LIBEXT)
diff --git a/nuttx/configs/stm32f4discovery/winbuild/Make.defs b/nuttx/configs/stm32f4discovery/winbuild/Make.defs
index 2d9e4f1e2..5a99ad199 100644
--- a/nuttx/configs/stm32f4discovery/winbuild/Make.defs
+++ b/nuttx/configs/stm32f4discovery/winbuild/Make.defs
@@ -35,52 +35,10 @@
include ${TOPDIR}\.config
include ${TOPDIR}\tools\Config.mk
-
-# Setup for the selected toolchain
-
-ifeq ($(CONFIG_STM32_CODESOURCERYW),y)
- # CodeSourcery under Windows
- CROSSDEV = arm-none-eabi-
- ARCROSSDEV = arm-none-eabi-
- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
-endif
-ifeq ($(CONFIG_STM32_ATOLLIC_LITE),y)
- # Atollic toolchain under Windows
- CROSSDEV = arm-atollic-eabi-
- ARCROSSDEV =
-ifeq ($(CONFIG_ARCH_FPU),y)
- ARCHCPUFLAGS = -mcpu=cortex-m4 -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard
-else
- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
-endif
-endif
-ifeq ($(CONFIG_STM32_ATOLLIC_PRO),y)
- # Atollic toolchain under Windows
- CROSSDEV = arm-atollic-eabi-
- ARCROSSDEV = arm-atollic-eabi-
-ifeq ($(CONFIG_ARCH_FPU),y)
- ARCHCPUFLAGS = -mcpu=cortex-m4 -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard
-else
- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
-endif
-endif
-ifeq ($(CONFIG_STM32_DEVKITARM),y)
- # devkitARM under Windows
- CROSSDEV = arm-eabi-
- ARCROSSDEV = arm-eabi-
- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
-endif
-ifeq ($(CONFIG_STM32_RAISONANCE),y)
- # Raisonance RIDE7 under Windows
- CROSSDEV = arm-none-eabi-
- ARCROSSDEV = arm-none-eabi-
- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
-endif
+include ${TOPDIR}\arch\arm\src\armv7-m\Toolchain.defs
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)
diff --git a/nuttx/configs/stm32f4discovery/winbuild/setenv.bat b/nuttx/configs/stm32f4discovery/winbuild/setenv.bat
index b4580f778..22fa1e599 100755
--- a/nuttx/configs/stm32f4discovery/winbuild/setenv.bat
+++ b/nuttx/configs/stm32f4discovery/winbuild/setenv.bat
@@ -32,9 +32,6 @@ rem LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
rem ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
rem POSSIBILITY OF SUCH DAMAGE.
-rem This script is not needed for setting the path because the full path
-rem to the ZDI-II tools are used in Make.defs.
-
rem This is the location where I installed in the MinGW compiler. With
rem this configuration, it is recommended that you do NOT install the
rem MSYS tools; they conflict with the GNUWin32 tools. See
@@ -42,6 +39,11 @@ rem http://www.mingw.org/ for further info.
set PATH=C:\MinGW\bin;%PATH%
+rem This is the location where I installed the CodeSourcey toolchain. See
+rem http://www.mentor.com/embedded-software/codesourcery
+
+set PATH=C:\Program Files (x86)\CodeSourcery\Sourcery G++ Lite\bin;%PATH%
+
rem This is the location where I installed the GNUWin32 tools. See
rem http://gnuwin32.sourceforge.net/.
diff --git a/nuttx/tools/configure.sh b/nuttx/tools/configure.sh
index 5bff89922..ffa997178 100755
--- a/nuttx/tools/configure.sh
+++ b/nuttx/tools/configure.sh
@@ -181,8 +181,8 @@ fi
# For checking the apps dir path, we need a POSIX version of the relative path.
-posappdir=`echo "${appdir}" | sed -e "s/\\/\/g"`
-winappdir=`echo "${appdir}" | sed -e "s/\//\\/g"`
+posappdir=`echo "${appdir}" | sed -e 's/\\\\/\\//g'`
+winappdir=`echo "${appdir}" | sed -e 's/\\//\\\\/g'`
# If appsdir was provided (or discovered) then make sure that the apps/
# directory exists
@@ -213,7 +213,7 @@ if [ "X${defappdir}" = "Xy" ]; then
echo "" >> "${tmp_config}"
echo "# Application configuration" >> "${tmp_config}"
echo "" >> "${tmp_config}"
- if [ "X${winnative)" = "Xy" ]; then
+ if [ "X${winnative}" = "Xy" ]; then
echo "CONFIG_APPS_DIR=\"$winappdir\"" >> "${tmp_config}"
else
echo "CONFIG_APPS_DIR=\"$posappdir\"" >> "${tmp_config}"