aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorpx4dev <px4@purgatory.org>2013-01-02 22:13:30 -0800
committerpx4dev <px4@purgatory.org>2013-01-02 22:13:30 -0800
commite7723e0d52b053a912aba9b0deb7010194d2a251 (patch)
tree9bd4083ac21e92527ea4dbbf4f6fd12d367bc07e /Makefile
parent3f420066964fe574bcf1c243d6a66646a433f777 (diff)
downloadpx4-firmware-e7723e0d52b053a912aba9b0deb7010194d2a251.tar.gz
px4-firmware-e7723e0d52b053a912aba9b0deb7010194d2a251.tar.bz2
px4-firmware-e7723e0d52b053a912aba9b0deb7010194d2a251.zip
Force a configure before compiling in order to work around more NuttX/config dependency issues.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile29
1 files changed, 17 insertions, 12 deletions
diff --git a/Makefile b/Makefile
index 8831f67ff..ef51025a4 100644
--- a/Makefile
+++ b/Makefile
@@ -28,13 +28,7 @@ UPLOADER = $(PX4BASE)/Tools/px_uploader.py
# What are we currently configured for?
#
CONFIGURED = $(PX4BASE)/.configured
-ifeq ($(wildcard $(CONFIGURED)),)
-# the $(CONFIGURED) target will make this a reality before building
-export TARGET = px4fmu
-$(shell echo $(TARGET) > $(CONFIGURED))
-else
-export TARGET = $(shell cat $(CONFIGURED))
-endif
+export TARGET := $(shell cat $(CONFIGURED))
#
# What we will build
@@ -59,12 +53,13 @@ $(FIRMWARE_BUNDLE): $(FIRMWARE_BINARY) $(MKFW) $(FIRMWARE_PROTOTYPE)
@$(MKFW) --prototype $(FIRMWARE_PROTOTYPE) \
--git_identity $(PX4BASE) \
--image $(FIRMWARE_BINARY) > $@
+
#
# Build the firmware binary.
#
.PHONY: $(FIRMWARE_BINARY)
-$(FIRMWARE_BINARY): configure_$(TARGET) setup_$(TARGET)
- @echo Building $@
+$(FIRMWARE_BINARY): setup_$(TARGET) configure-check
+ @echo Building $@ for $(TARGET)
@make -C $(NUTTX_SRC) -r $(MQUIET) all
@cp $(NUTTX_SRC)/nuttx.bin $@
@@ -73,19 +68,26 @@ $(FIRMWARE_BINARY): configure_$(TARGET) setup_$(TARGET)
# and makes it current.
#
configure_px4fmu:
-ifneq ($(TARGET),px4fmu)
+ @echo Configuring for px4fmu
@make -C $(PX4BASE) distclean
@cd $(NUTTX_SRC)/tools && /bin/sh configure.sh px4fmu/nsh
@echo px4fmu > $(CONFIGURED)
-endif
configure_px4io:
-ifneq ($(TARGET),px4io)
+ @echo Configuring for px4io
@make -C $(PX4BASE) distclean
@cd $(NUTTX_SRC)/tools && /bin/sh configure.sh px4io/io
@echo px4io > $(CONFIGURED)
+
+configure-check:
+ifeq ($(wildcard $(CONFIGURED)),)
+ @echo
+ @echo "Not configured - use 'make configure_px4fmu' or 'make configure_px4io' first"
+ @echo
+ @exit 1
endif
+
#
# Per-configuration additional targets
#
@@ -96,6 +98,9 @@ setup_px4fmu:
setup_px4io:
+# fake target to make configure-check happy if TARGET is not set
+setup_:
+
#
# Firmware uploading.
#