aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorpx4dev <px4@purgatory.org>2013-08-10 12:39:58 -0700
committerpx4dev <px4@purgatory.org>2013-08-11 14:00:09 -0700
commitf36a2ff45a9f24637ea360cdadd5f168c5f50946 (patch)
tree0deafbd899a4bba75923b05ac8a07a8371522be9 /Makefile
parent083cc60acb8b602864d0727e09218eeeca5eb980 (diff)
downloadpx4-firmware-f36a2ff45a9f24637ea360cdadd5f168c5f50946.tar.gz
px4-firmware-f36a2ff45a9f24637ea360cdadd5f168c5f50946.tar.bz2
px4-firmware-f36a2ff45a9f24637ea360cdadd5f168c5f50946.zip
Add a 'menuconfig' target that makes it possible to use the NuttX menuconfig tool on the PX4 config files.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile28
1 files changed, 27 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 82a5ffd27..9ef30c2df 100644
--- a/Makefile
+++ b/Makefile
@@ -148,7 +148,7 @@ $(NUTTX_ARCHIVES): $(ARCHIVE_DIR)%.export: $(NUTTX_SRC)
@$(ECHO) %% Configuring NuttX for $(board)
$(Q) (cd $(NUTTX_SRC) && $(RMDIR) nuttx-export)
$(Q) make -r -j1 -C $(NUTTX_SRC) -r $(MQUIET) distclean
- $(Q) (cd $(NUTTX_SRC)/configs && $(COPYDIR) $(PX4_BASE)/nuttx-configs/$(board) .)
+ $(Q) (cd $(NUTTX_SRC)/configs && $(COPYDIR) $(PX4_BASE)nuttx-configs/$(board) .)
$(Q) (cd $(NUTTX_SRC)tools && ./configure.sh $(board)/$(configuration))
@$(ECHO) %% Exporting NuttX for $(board)
$(Q) make -r -j1 -C $(NUTTX_SRC) -r $(MQUIET) export
@@ -156,6 +156,32 @@ $(NUTTX_ARCHIVES): $(ARCHIVE_DIR)%.export: $(NUTTX_SRC)
$(Q) $(COPY) $(NUTTX_SRC)nuttx-export.zip $@
$(Q) (cd $(NUTTX_SRC)/configs && $(RMDIR) $(board))
+#
+# The user can run the NuttX 'menuconfig' tool for a single board configuration with
+# make BOARDS=<boardname> menuconfig
+#
+ifeq ($(MAKECMDGOALS),menuconfig)
+ifneq ($(words $(BOARDS)),1)
+$(error BOARDS must specify exactly one board for the menuconfig goal)
+endif
+BOARD = $(BOARDS)
+menuconfig: $(NUTTX_SRC)
+ @$(ECHO) %% Configuring NuttX for $(BOARD)
+ $(Q) (cd $(NUTTX_SRC) && $(RMDIR) nuttx-export)
+ $(Q) make -r -j1 -C $(NUTTX_SRC) -r $(MQUIET) distclean
+ $(Q) (cd $(NUTTX_SRC)/configs && $(COPYDIR) $(PX4_BASE)nuttx-configs/$(BOARD) .)
+ $(Q) (cd $(NUTTX_SRC)tools && ./configure.sh $(BOARD)/nsh)
+ @$(ECHO) %% Running menuconfig for $(BOARD)
+ $(Q) make -r -j1 -C $(NUTTX_SRC) -r $(MQUIET) menuconfig
+ @$(ECHO) %% Saving configuration file
+ $(Q)$(COPY) $(NUTTX_SRC).config $(PX4_BASE)nuttx-configs/$(BOARD)/nsh/defconfig
+else
+menuconfig:
+ @$(ECHO) ""
+ @$(ECHO) "The menuconfig goal must be invoked without any other goal being specified"
+ @$(ECHO) ""
+endif
+
$(NUTTX_SRC):
@$(ECHO) ""
@$(ECHO) "NuttX sources missing - clone https://github.com/PX4/NuttX.git and try again."