mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-02-21 11:54:15 +01:00
OP-719: make python_install (Windows)
This commit is contained in:
parent
c0878f290d
commit
34b15fedaf
1
Makefile
1
Makefile
@ -822,6 +822,7 @@ help:
|
|||||||
@$(ECHO) " arm_sdk_install - Install the GNU ARM gcc toolchain"
|
@$(ECHO) " arm_sdk_install - Install the GNU ARM gcc toolchain"
|
||||||
@$(ECHO) " qt_sdk_install - Install the QT development tools"
|
@$(ECHO) " qt_sdk_install - Install the QT development tools"
|
||||||
@$(ECHO) " mingw_install - Install the MinGW toolchain (Windows only)"
|
@$(ECHO) " mingw_install - Install the MinGW toolchain (Windows only)"
|
||||||
|
@$(ECHO) " python_install - Install the Python interpreter (Windows only)"
|
||||||
@$(ECHO) " openocd_install - Install the OpenOCD JTAG daemon"
|
@$(ECHO) " openocd_install - Install the OpenOCD JTAG daemon"
|
||||||
@$(ECHO) " stm32flash_install - Install the stm32flash tool for unbricking F1-based boards"
|
@$(ECHO) " stm32flash_install - Install the stm32flash tool for unbricking F1-based boards"
|
||||||
@$(ECHO) " dfuutil_install - Install the dfu-util tool for unbricking F4-based boards"
|
@$(ECHO) " dfuutil_install - Install the dfu-util tool for unbricking F4-based boards"
|
||||||
|
@ -21,6 +21,7 @@ ifndef OPENPILOT_IS_COOL
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
include $(ROOT_DIR)/make/boards/$(BOARD_NAME)/board-info.mk
|
include $(ROOT_DIR)/make/boards/$(BOARD_NAME)/board-info.mk
|
||||||
|
include $(ROOT_DIR)/make/firmware-defs.mk
|
||||||
|
|
||||||
# Paths
|
# Paths
|
||||||
TOPDIR = .
|
TOPDIR = .
|
||||||
|
143
make/tools.mk
143
make/tools.mk
@ -9,11 +9,10 @@
|
|||||||
# Ready to use:
|
# Ready to use:
|
||||||
# arm_sdk_install
|
# arm_sdk_install
|
||||||
# qt_sdk_install
|
# qt_sdk_install
|
||||||
# mingw_install
|
# mingw_install (Windows only)
|
||||||
|
# python_install (Windows only)
|
||||||
#
|
#
|
||||||
# TODO:
|
# TODO:
|
||||||
# wget_win_install
|
|
||||||
# make_win_install
|
|
||||||
# openocd_install
|
# openocd_install
|
||||||
# ftd2xx_install
|
# ftd2xx_install
|
||||||
# libusb_win_install
|
# libusb_win_install
|
||||||
@ -62,11 +61,13 @@ else ifeq ($(UNAME), Windows)
|
|||||||
ARM_SDK_URL := http://wiki.openpilot.org/download/attachments/18612236/gcc-arm-none-eabi-4_7-2013q1-20130313-windows.tar.bz2
|
ARM_SDK_URL := http://wiki.openpilot.org/download/attachments/18612236/gcc-arm-none-eabi-4_7-2013q1-20130313-windows.tar.bz2
|
||||||
QT_SDK_URL := http://wiki.openpilot.org/download/attachments/18612236/qt-4.8.4-windows.tar.bz2
|
QT_SDK_URL := http://wiki.openpilot.org/download/attachments/18612236/qt-4.8.4-windows.tar.bz2
|
||||||
MINGW_URL := http://wiki.openpilot.org/download/attachments/18612236/mingw-4.4.0.tar.bz2
|
MINGW_URL := http://wiki.openpilot.org/download/attachments/18612236/mingw-4.4.0.tar.bz2
|
||||||
|
PYTHON_URL := http://wiki.openpilot.org/download/attachments/18612236/python-2.7.4-windows.tar.bz2
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ARM_SDK_DIR := $(TOOLS_DIR)/gcc-arm-none-eabi-4_7-2013q1
|
ARM_SDK_DIR := $(TOOLS_DIR)/gcc-arm-none-eabi-4_7-2013q1
|
||||||
QT_SDK_DIR := $(TOOLS_DIR)/qt-4.8.4
|
QT_SDK_DIR := $(TOOLS_DIR)/qt-4.8.4
|
||||||
MINGW_DIR := $(TOOLS_DIR)/mingw-4.4.0
|
MINGW_DIR := $(TOOLS_DIR)/mingw-4.4.0
|
||||||
|
PYTHON_DIR := $(TOOLS_DIR)/python-2.7.4
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
#
|
#
|
||||||
@ -76,7 +77,7 @@ MINGW_DIR := $(TOOLS_DIR)/mingw-4.4.0
|
|||||||
|
|
||||||
ALL_SDK_TARGETS := arm_sdk qt_sdk
|
ALL_SDK_TARGETS := arm_sdk qt_sdk
|
||||||
ifeq ($(UNAME), Windows)
|
ifeq ($(UNAME), Windows)
|
||||||
ALL_SDK_TARGETS += mingw
|
ALL_SDK_TARGETS += mingw python
|
||||||
endif
|
endif
|
||||||
|
|
||||||
.PHONY: all_sdk_install all_sdk_clean all_sdk_distclean all_sdk_version
|
.PHONY: all_sdk_install all_sdk_clean all_sdk_distclean all_sdk_version
|
||||||
@ -141,7 +142,6 @@ export JAVAC := javac
|
|||||||
export JAR := jar
|
export JAR := jar
|
||||||
export GIT := git
|
export GIT := git
|
||||||
export CURL := curl
|
export CURL := curl
|
||||||
export PYTHON := python
|
|
||||||
export INSTALL := install
|
export INSTALL := install
|
||||||
|
|
||||||
# Echo in recipes is a bit tricky in a Windows Git Bash window in some cases.
|
# Echo in recipes is a bit tricky in a Windows Git Bash window in some cases.
|
||||||
@ -149,7 +149,8 @@ export INSTALL := install
|
|||||||
ifneq ($(UNAME), Windows)
|
ifneq ($(UNAME), Windows)
|
||||||
export ECHO := echo
|
export ECHO := echo
|
||||||
else
|
else
|
||||||
export ECHO := $(PYTHON) -c "import sys; print(' '.join(sys.argv[1:]))"
|
# export ECHO := $(PYTHON) -c "import sys; print(' '.join(sys.argv[1:]))"
|
||||||
|
export ECHO := echo
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Test if quotes are needed for the echo command
|
# Test if quotes are needed for the echo command
|
||||||
@ -161,7 +162,7 @@ else
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
# Command to extract version info data from the repository and source tree
|
# Command to extract version info data from the repository and source tree
|
||||||
export VERSION_INFO := $(PYTHON) "$(ROOT_DIR)/make/scripts/version-info.py" --path="$(ROOT_DIR)"
|
export VERSION_INFO = $(PYTHON) $(ROOT_DIR)/make/scripts/version-info.py --path=$(ROOT_DIR)
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
#
|
#
|
||||||
@ -204,6 +205,58 @@ else
|
|||||||
export ARM_SDK_PREFIX ?= arm-none-eabi-
|
export ARM_SDK_PREFIX ?= arm-none-eabi-
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
##############################
|
||||||
|
#
|
||||||
|
# Qt SDK
|
||||||
|
#
|
||||||
|
##############################
|
||||||
|
|
||||||
|
QT_SDK_FILE := $(notdir $(QT_SDK_URL))
|
||||||
|
|
||||||
|
.PHONY: qt_sdk_install
|
||||||
|
qt_sdk_install: qt_sdk_clean | $(DL_DIR) $(TOOLS_DIR)
|
||||||
|
@$(ECHO) $(MSG_DOWNLOADING) $(call toprel, $(DL_DIR)/$(QT_SDK_FILE))
|
||||||
|
$(V1) $(CURL) $(CURL_OPTIONS) \
|
||||||
|
$(if $(shell [ -f "$(DL_DIR)/$(QT_SDK_FILE)" ] && $(ECHO) "exists"),-z "$(DL_DIR)/$(QT_SDK_FILE)",) \
|
||||||
|
-o "$(DL_DIR)/$(QT_SDK_FILE)" \
|
||||||
|
"$(QT_SDK_URL)"
|
||||||
|
|
||||||
|
@$(ECHO) $(MSG_EXTRACTING) $(call toprel, $(QT_SDK_DIR))
|
||||||
|
$(V1) $(TAR) $(TAR_OPTIONS) -C $(call toprel, $(TOOLS_DIR)) -xjf $(call toprel, $(DL_DIR)/$(QT_SDK_FILE))
|
||||||
|
|
||||||
|
@$(ECHO) $(MSG_CONFIGURING) $(call toprel, $(QT_SDK_DIR))
|
||||||
|
@$(ECHO) $(QUOTE)[Paths]$(QUOTE) > $(QT_SDK_DIR)/bin/qt.conf
|
||||||
|
@$(ECHO) $(QUOTE)Prefix = $(QT_SDK_DIR)$(QUOTE) >> $(QT_SDK_DIR)/bin/qt.conf
|
||||||
|
|
||||||
|
.PHONY: qt_sdk_clean
|
||||||
|
qt_sdk_clean:
|
||||||
|
@$(ECHO) $(MSG_CLEANING) $(call toprel, $(QT_SDK_DIR))
|
||||||
|
$(V1) [ ! -d "$(QT_SDK_DIR)" ] || $(RM) -rf "$(QT_SDK_DIR)"
|
||||||
|
|
||||||
|
.PHONY: qt_sdk_distclean
|
||||||
|
qt_sdk_distclean:
|
||||||
|
@$(ECHO) $(MSG_DISTCLEANING) $(call toprel, $@)
|
||||||
|
$(V1) [ ! -f "$(DL_DIR)/$(QT_SDK_FILE)" ] || $(RM) "$(DL_DIR)/$(QT_SDK_FILE)"
|
||||||
|
|
||||||
|
.PHONY: qt_sdk_version
|
||||||
|
qt_sdk_version:
|
||||||
|
$(V1) $(QMAKE) --version | tail -1
|
||||||
|
|
||||||
|
ifeq ($(shell [ -d "$(QT_SDK_DIR)" ] && $(ECHO) "exists"), exists)
|
||||||
|
export QMAKE := $(QT_SDK_DIR)/bin/qmake
|
||||||
|
|
||||||
|
# set Qt library search path
|
||||||
|
ifeq ($(UNAME), Windows)
|
||||||
|
export PATH := $(QT_SDK_DIR)/bin:$(PATH)
|
||||||
|
else
|
||||||
|
export LD_LIBRARY_PATH := $(QT_SDK_DIR)/lib:$(LD_LIBRARY_PATH)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
# not installed, hope it's in the path...
|
||||||
|
# $(info $(EMPTY) WARNING $(call toprel, $(QT_SDK_DIR)) not found (make qt_sdk_install), using system PATH)
|
||||||
|
QMAKE ?= qmake
|
||||||
|
endif
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
#
|
#
|
||||||
# MinGW (Windows only)
|
# MinGW (Windows only)
|
||||||
@ -263,59 +316,57 @@ endif
|
|||||||
|
|
||||||
##############################
|
##############################
|
||||||
#
|
#
|
||||||
# Qt SDK
|
# Python (Windows only)
|
||||||
#
|
#
|
||||||
##############################
|
##############################
|
||||||
|
|
||||||
QT_SDK_FILE := $(notdir $(QT_SDK_URL))
|
ifeq ($(UNAME), Windows)
|
||||||
|
|
||||||
.PHONY: qt_sdk_install
|
PYTHON_FILE := $(notdir $(PYTHON_URL))
|
||||||
qt_sdk_install: qt_sdk_clean | $(DL_DIR) $(TOOLS_DIR)
|
|
||||||
@$(ECHO) $(MSG_DOWNLOADING) $(call toprel, $(DL_DIR)/$(QT_SDK_FILE))
|
.PHONY: python_install
|
||||||
|
python_install: python_clean | $(DL_DIR) $(TOOLS_DIR)
|
||||||
|
@$(ECHO) $(MSG_DOWNLOADING) $(call toprel, $(DL_DIR)/$(PYTHON_FILE))
|
||||||
$(V1) $(CURL) $(CURL_OPTIONS) \
|
$(V1) $(CURL) $(CURL_OPTIONS) \
|
||||||
$(if $(shell [ -f "$(DL_DIR)/$(QT_SDK_FILE)" ] && $(ECHO) "exists"),-z "$(DL_DIR)/$(QT_SDK_FILE)",) \
|
$(if $(shell [ -f "$(DL_DIR)/$(PYTHON_FILE)" ] && $(ECHO) "exists"),-z "$(DL_DIR)/$(PYTHON_FILE)",) \
|
||||||
-o "$(DL_DIR)/$(QT_SDK_FILE)" \
|
-o "$(DL_DIR)/$(PYTHON_FILE)" \
|
||||||
"$(QT_SDK_URL)"
|
"$(PYTHON_URL)"
|
||||||
|
|
||||||
@$(ECHO) $(MSG_EXTRACTING) $(call toprel, $(QT_SDK_DIR))
|
@$(ECHO) $(MSG_EXTRACTING) $(call toprel, $(PYTHON_DIR))
|
||||||
$(V1) $(TAR) $(TAR_OPTIONS) -C $(call toprel, $(TOOLS_DIR)) -xjf $(call toprel, $(DL_DIR)/$(QT_SDK_FILE))
|
$(V1) $(TAR) $(TAR_OPTIONS) -C $(call toprel, $(TOOLS_DIR)) -xjf $(call toprel, $(DL_DIR)/$(PYTHON_FILE))
|
||||||
|
|
||||||
@$(ECHO) $(MSG_CONFIGURING) $(call toprel, $(QT_SDK_DIR))
|
.PHONY: python_clean
|
||||||
@$(ECHO) $(QUOTE)[Paths]$(QUOTE) > $(QT_SDK_DIR)/bin/qt.conf
|
python_clean:
|
||||||
@$(ECHO) $(QUOTE)Prefix = $(QT_SDK_DIR)$(QUOTE) >> $(QT_SDK_DIR)/bin/qt.conf
|
@$(ECHO) $(MSG_CLEANING) $(call toprel, $(PYTHON_DIR))
|
||||||
|
$(V1) [ ! -d "$(PYTHON_DIR)" ] || $(RM) -rf "$(PYTHON_DIR)"
|
||||||
|
|
||||||
.PHONY: qt_sdk_clean
|
.PHONY: python_distclean
|
||||||
qt_sdk_clean:
|
python_distclean:
|
||||||
@$(ECHO) $(MSG_CLEANING) $(call toprel, $(QT_SDK_DIR))
|
|
||||||
$(V1) [ ! -d "$(QT_SDK_DIR)" ] || $(RM) -rf "$(QT_SDK_DIR)"
|
|
||||||
|
|
||||||
.PHONY: qt_sdk_distclean
|
|
||||||
qt_sdk_distclean:
|
|
||||||
@$(ECHO) $(MSG_DISTCLEANING) $(call toprel, $@)
|
@$(ECHO) $(MSG_DISTCLEANING) $(call toprel, $@)
|
||||||
$(V1) [ ! -f "$(DL_DIR)/$(QT_SDK_FILE)" ] || $(RM) "$(DL_DIR)/$(QT_SDK_FILE)"
|
$(V1) [ ! -f "$(DL_DIR)/$(PYTHON_FILE)" ] || $(RM) "$(DL_DIR)/$(PYTHON_FILE)"
|
||||||
|
|
||||||
.PHONY: qt_sdk_version
|
.PHONY: python_version
|
||||||
qt_sdk_version:
|
python_version:
|
||||||
$(V1) $(QMAKE) --version | tail -1
|
$(V1) $(PYTHON) --version
|
||||||
|
|
||||||
ifeq ($(shell [ -d "$(QT_SDK_DIR)" ] && $(ECHO) "exists"), exists)
|
else # Linux or Mac
|
||||||
export QMAKE := $(QT_SDK_DIR)/bin/qmake
|
|
||||||
|
all_sdk_version: python_version
|
||||||
|
|
||||||
|
.PHONY: python_version
|
||||||
|
python_version:
|
||||||
|
$(V1) $(PYTHON) --version
|
||||||
|
|
||||||
# set Qt library search path
|
|
||||||
ifeq ($(UNAME), Windows)
|
|
||||||
export PATH := $(QT_SDK_DIR)/bin:$(PATH)
|
|
||||||
else
|
|
||||||
export LD_LIBRARY_PATH := $(QT_SDK_DIR)/lib:$(LD_LIBRARY_PATH)
|
|
||||||
endif
|
|
||||||
else
|
|
||||||
# not installed, hope it's in the path...
|
|
||||||
# $(info $(EMPTY) WARNING $(call toprel, $(QT_SDK_DIR)) not found (make qt_sdk_install), using system PATH)
|
|
||||||
QMAKE ?= qmake
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(shell [ -d "$(PYTHON_DIR)" ] && $(ECHO) "exists"), exists)
|
||||||
|
export PYTHON := $(PYTHON_DIR)/python
|
||||||
|
export PATH := $(PYTHON_DIR):$(PATH)
|
||||||
|
else
|
||||||
|
# not installed, hope it's in the path...
|
||||||
|
# $(info $(EMPTY) WARNING $(call toprel, $(PYTHON_DIR)) not found (make python_install), using system PATH)
|
||||||
|
export PYTHON := python
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user