mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2025-03-15 07:29:15 +01:00
Merge remote-tracking branch 'dev/parched/OP-1694_make_package_rule_non-nested' into next
This commit is contained in:
commit
15afc979d5
105
Makefile
105
Makefile
@ -135,6 +135,9 @@ all_clean:
|
|||||||
@$(ECHO) " CLEAN $(call toprel, $(BUILD_DIR))"
|
@$(ECHO) " CLEAN $(call toprel, $(BUILD_DIR))"
|
||||||
$(V1) [ ! -d "$(BUILD_DIR)" ] || $(RM) -rf "$(BUILD_DIR)"
|
$(V1) [ ! -d "$(BUILD_DIR)" ] || $(RM) -rf "$(BUILD_DIR)"
|
||||||
|
|
||||||
|
.PONY: clean
|
||||||
|
clean: all_clean
|
||||||
|
|
||||||
$(DL_DIR):
|
$(DL_DIR):
|
||||||
$(MKDIR) -p $@
|
$(MKDIR) -p $@
|
||||||
|
|
||||||
@ -144,6 +147,12 @@ $(TOOLS_DIR):
|
|||||||
$(BUILD_DIR):
|
$(BUILD_DIR):
|
||||||
$(MKDIR) -p $@
|
$(MKDIR) -p $@
|
||||||
|
|
||||||
|
$(PACKAGE_DIR):
|
||||||
|
$(MKDIR) -p $@
|
||||||
|
|
||||||
|
$(DIST_DIR):
|
||||||
|
$(MKDIR) -p $@
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
#
|
#
|
||||||
# UAVObjects
|
# UAVObjects
|
||||||
@ -243,8 +252,8 @@ EF_TARGETS := $(addprefix ef_, $(EF_BOARDS))
|
|||||||
# When building any of the "all_*" targets, tell all sub makefiles to display
|
# When building any of the "all_*" targets, tell all sub makefiles to display
|
||||||
# additional details on each line of output to describe which build and target
|
# additional details on each line of output to describe which build and target
|
||||||
# that each line applies to. The same applies also to all, opfw_resource,
|
# that each line applies to. The same applies also to all, opfw_resource,
|
||||||
# package and clean_package targets
|
# package targets
|
||||||
ifneq ($(strip $(filter all_% all opfw_resource package clean_package,$(MAKECMDGOALS))),)
|
ifneq ($(strip $(filter all_% all opfw_resource package,$(MAKECMDGOALS))),)
|
||||||
export ENABLE_MSG_EXTRA := yes
|
export ENABLE_MSG_EXTRA := yes
|
||||||
endif
|
endif
|
||||||
|
|
||||||
@ -766,52 +775,30 @@ $(OPFW_RESOURCE): $(FW_TARGETS)
|
|||||||
$(V1) $(ECHO) $(QUOTE)$(OPFW_CONTENTS)$(QUOTE) > $@
|
$(V1) $(ECHO) $(QUOTE)$(OPFW_CONTENTS)$(QUOTE) > $@
|
||||||
|
|
||||||
# If opfw_resource or all firmware are requested, GCS should depend on the resource
|
# If opfw_resource or all firmware are requested, GCS should depend on the resource
|
||||||
ifneq ($(strip $(filter opfw_resource all all_fw all_flight,$(MAKECMDGOALS))),)
|
ifneq ($(strip $(filter opfw_resource all all_fw all_flight package,$(MAKECMDGOALS))),)
|
||||||
$(eval openpilotgcs_qmake: $(OPFW_RESOURCE))
|
$(eval openpilotgcs_qmake: $(OPFW_RESOURCE))
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Packaging targets: package, clean_package
|
# Packaging targets: package
|
||||||
# - removes build directory (clean_package only)
|
|
||||||
# - builds all firmware, opfw_resource, gcs
|
# - builds all firmware, opfw_resource, gcs
|
||||||
# - copies firmware into a package directory
|
# - copies firmware into a package directory
|
||||||
# - calls paltform-specific packaging script
|
# - calls paltform-specific packaging script
|
||||||
|
|
||||||
# Do some checks and define some values if package is requested
|
|
||||||
ifneq ($(strip $(filter package clean_package,$(MAKECMDGOALS))),)
|
|
||||||
# Define some variables
|
# Define some variables
|
||||||
export PACKAGE_LBL := $(shell $(VERSION_INFO) --format=\$${LABEL})
|
export PACKAGE_LBL := $(shell $(VERSION_INFO) --format=\$${LABEL})
|
||||||
export PACKAGE_NAME := OpenPilot
|
export PACKAGE_NAME := OpenPilot
|
||||||
export PACKAGE_SEP := -
|
export PACKAGE_SEP := -
|
||||||
|
|
||||||
# We can only package release builds
|
.PHONY: package
|
||||||
|
|
||||||
|
include $(ROOT_DIR)/package/$(UNAME).mk
|
||||||
|
|
||||||
|
package: all_fw all_ground uavobjects_matlab $(PACKAGE_DIR)
|
||||||
ifneq ($(GCS_BUILD_CONF),release)
|
ifneq ($(GCS_BUILD_CONF),release)
|
||||||
|
# We can only package release builds
|
||||||
$(error Packaging is currently supported for release builds only)
|
$(error Packaging is currently supported for release builds only)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Packaged GCS should depend on opfw_resource
|
|
||||||
ifneq ($(strip $(filter package clean_package,$(MAKECMDGOALS))),)
|
|
||||||
$(eval openpilotgcs_qmake: $(OPFW_RESOURCE))
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Clean the build directory if clean_package is requested
|
|
||||||
ifneq ($(strip $(filter clean_package,$(MAKECMDGOALS))),)
|
|
||||||
$(info Cleaning build directory before packaging...)
|
|
||||||
ifneq ($(shell $(MAKE) all_clean >/dev/null 2>&1 && $(ECHO) "clean"), clean)
|
|
||||||
$(error Cannot clean build directory)
|
|
||||||
endif
|
|
||||||
|
|
||||||
.PHONY: clean_package
|
|
||||||
clean_package: package
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
.PHONY: package
|
|
||||||
package: all_fw all_ground uavobjects_matlab
|
|
||||||
@$(ECHO) "Packaging for $(UNAME) $(ARCH) into $(call toprel, $(PACKAGE_DIR)) directory"
|
|
||||||
$(V1) [ ! -d "$(PACKAGE_DIR)" ] || $(RM) -rf "$(PACKAGE_DIR)"
|
|
||||||
$(V1) $(MKDIR) -p "$(PACKAGE_DIR)"
|
|
||||||
$(MAKE) --no-print-directory -C $(ROOT_DIR)/package --file=$(UNAME).mk $@
|
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
#
|
#
|
||||||
# Source code formatting
|
# Source code formatting
|
||||||
@ -893,60 +880,23 @@ build-info:
|
|||||||
#
|
#
|
||||||
##############################
|
##############################
|
||||||
|
|
||||||
|
DIST_VER_INFO := $(DIST_DIR)/version-info.json
|
||||||
|
|
||||||
|
.PHONY: $(DIST_VER_INFO) # Because to many deps to list
|
||||||
|
$(DIST_VER_INFO): $(DIST_DIR)
|
||||||
|
$(V1) $(VERSION_INFO) --jsonpath="$(DIST_DIR)"
|
||||||
|
|
||||||
.PHONY: dist
|
.PHONY: dist
|
||||||
dist:
|
dist: $(DIST_DIR) $(DIST_VER_INFO)
|
||||||
@$(ECHO) " SOURCE FOR DISTRIBUTION $(call toprel, $(DIST_DIR))"
|
@$(ECHO) " SOURCE FOR DISTRIBUTION $(call toprel, $(DIST_DIR))"
|
||||||
$(V1) $(MKDIR) -p "$(DIST_DIR)"
|
|
||||||
$(V1) $(VERSION_INFO) \
|
|
||||||
--jsonpath="$(DIST_DIR)"
|
|
||||||
$(eval DIST_NAME := $(call toprel, "$(DIST_DIR)/OpenPilot-$(shell git describe).tar"))
|
$(eval DIST_NAME := $(call toprel, "$(DIST_DIR)/OpenPilot-$(shell git describe).tar"))
|
||||||
$(V1) git archive --prefix="OpenPilot/" -o "$(DIST_NAME)" HEAD
|
$(V1) git archive --prefix="OpenPilot/" -o "$(DIST_NAME)" HEAD
|
||||||
$(V1) tar --append --file="$(DIST_NAME)" \
|
$(V1) tar --append --file="$(DIST_NAME)" \
|
||||||
--transform='s,.*version-info.json,OpenPilot/version-info.json,' \
|
--transform='s,.*version-info.json,OpenPilot/version-info.json,' \
|
||||||
$(call toprel, "$(DIST_DIR)/version-info.json")
|
$(call toprel, "$(DIST_VER_INFO)")
|
||||||
$(V1) gzip -f "$(DIST_NAME)"
|
$(V1) gzip -f "$(DIST_NAME)"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
##############################
|
|
||||||
#
|
|
||||||
# Install OpenPilot
|
|
||||||
#
|
|
||||||
##############################
|
|
||||||
prefix := /usr/local
|
|
||||||
bindir := $(prefix)/bin
|
|
||||||
libdir := $(prefix)/lib
|
|
||||||
datadir := $(prefix)/share
|
|
||||||
|
|
||||||
INSTALL = cp -a --no-preserve=ownership
|
|
||||||
LN = ln
|
|
||||||
LN_S = ln -s
|
|
||||||
|
|
||||||
ifeq ($(MAKECMDGOALS), install)
|
|
||||||
ifneq ($(UNAME), Linux)
|
|
||||||
$(error install only supported for Linux)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
.PHONY: install
|
|
||||||
install:
|
|
||||||
@$(ECHO) " INSTALLING GCS TO $(DESTDIR)/)"
|
|
||||||
$(V1) $(MKDIR) -p $(DESTDIR)$(bindir)
|
|
||||||
$(V1) $(MKDIR) -p $(DESTDIR)$(libdir)
|
|
||||||
$(V1) $(MKDIR) -p $(DESTDIR)$(datadir)
|
|
||||||
$(V1) $(MKDIR) -p $(DESTDIR)$(datadir)/applications
|
|
||||||
$(V1) $(MKDIR) -p $(DESTDIR)$(datadir)/pixmaps
|
|
||||||
$(V1) $(MKDIR) -p $(DESTDIR)$(udevdir)
|
|
||||||
$(V1) $(INSTALL) $(BUILD_DIR)/openpilotgcs_$(GCS_BUILD_CONF)/bin/openpilotgcs $(DESTDIR)$(bindir)
|
|
||||||
$(V1) $(INSTALL) $(BUILD_DIR)/openpilotgcs_$(GCS_BUILD_CONF)/bin/udp_test $(DESTDIR)$(bindir)
|
|
||||||
$(V1) $(INSTALL) $(BUILD_DIR)/openpilotgcs_$(GCS_BUILD_CONF)/lib/openpilotgcs $(DESTDIR)$(libdir)
|
|
||||||
$(V1) $(INSTALL) $(BUILD_DIR)/openpilotgcs_$(GCS_BUILD_CONF)/share/openpilotgcs $(DESTDIR)$(datadir)
|
|
||||||
$(V1) $(INSTALL) $(ROOT_DIR)/package/linux/openpilot.desktop $(DESTDIR)$(datadir)/applications
|
|
||||||
$(V1) $(INSTALL) $(ROOT_DIR)/package/linux/openpilot.png $(DESTDIR)$(datadir)/pixmaps
|
|
||||||
$(V1) rm $(DESTDIR)/$(datadir)/openpilotgcs/translations/Makefile
|
|
||||||
|
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
#
|
#
|
||||||
# Help message, the default Makefile goal
|
# Help message, the default Makefile goal
|
||||||
@ -1079,7 +1029,6 @@ help:
|
|||||||
@$(ECHO) " Supported groups are ($(UAVOBJ_TARGETS))"
|
@$(ECHO) " Supported groups are ($(UAVOBJ_TARGETS))"
|
||||||
@$(ECHO)
|
@$(ECHO)
|
||||||
@$(ECHO) " [Packaging]"
|
@$(ECHO) " [Packaging]"
|
||||||
@$(ECHO) " clean_package - Clean, build and package the OpenPilot platform-dependent package"
|
|
||||||
@$(ECHO) " package - Build and package the OpenPilot platform-dependent package (no clean)"
|
@$(ECHO) " package - Build and package the OpenPilot platform-dependent package (no clean)"
|
||||||
@$(ECHO) " opfw_resource - Generate resources to embed firmware binaries into the GCS"
|
@$(ECHO) " opfw_resource - Generate resources to embed firmware binaries into the GCS"
|
||||||
@$(ECHO) " dist - Generate source archive for distribution"
|
@$(ECHO) " dist - Generate source archive for distribution"
|
||||||
|
@ -21,7 +21,40 @@ package:
|
|||||||
$(V1) echo "Building Linux package, please wait..."
|
$(V1) echo "Building Linux package, please wait..."
|
||||||
$(V1) cp -rL $(DEB_DIR) $(DEB_BUILD_DIR)
|
$(V1) cp -rL $(DEB_DIR) $(DEB_BUILD_DIR)
|
||||||
$(V1) sed -i -e "$(SED_SCRIPT)" $(DEB_BUILD_DIR)/changelog
|
$(V1) sed -i -e "$(SED_SCRIPT)" $(DEB_BUILD_DIR)/changelog
|
||||||
$(V1) cd .. && dpkg-buildpackage -b -us -uc
|
$(V1) dpkg-buildpackage -b -us -uc
|
||||||
$(V1) mv $(ROOT_DIR)/../$(DEB_PACKAGE_NAME).deb $(BUILD_DIR)/$(DEB_PACKAGE_NAME).deb
|
$(V1) mv $(ROOT_DIR)/../$(DEB_PACKAGE_NAME).deb $(BUILD_DIR)/$(DEB_PACKAGE_NAME).deb
|
||||||
$(V1) mv $(ROOT_DIR)/../$(DEB_PACKAGE_NAME).changes $(BUILD_DIR)/$(DEB_PACKAGE_NAME).changes
|
$(V1) mv $(ROOT_DIR)/../$(DEB_PACKAGE_NAME).changes $(BUILD_DIR)/$(DEB_PACKAGE_NAME).changes
|
||||||
$(V1) rm -rf $(DEB_BUILD_DIR)
|
$(V1) rm -rf $(DEB_BUILD_DIR)
|
||||||
|
|
||||||
|
##############################
|
||||||
|
#
|
||||||
|
# Install OpenPilot
|
||||||
|
#
|
||||||
|
##############################
|
||||||
|
prefix := /usr/local
|
||||||
|
bindir := $(prefix)/bin
|
||||||
|
libdir := $(prefix)/lib
|
||||||
|
datadir := $(prefix)/share
|
||||||
|
|
||||||
|
INSTALL = cp -a --no-preserve=ownership
|
||||||
|
LN = ln
|
||||||
|
LN_S = ln -s
|
||||||
|
|
||||||
|
.PHONY: install
|
||||||
|
install:
|
||||||
|
@$(ECHO) " INSTALLING GCS TO $(DESTDIR)/)"
|
||||||
|
$(V1) $(MKDIR) -p $(DESTDIR)$(bindir)
|
||||||
|
$(V1) $(MKDIR) -p $(DESTDIR)$(libdir)
|
||||||
|
$(V1) $(MKDIR) -p $(DESTDIR)$(datadir)
|
||||||
|
$(V1) $(MKDIR) -p $(DESTDIR)$(datadir)/applications
|
||||||
|
$(V1) $(MKDIR) -p $(DESTDIR)$(datadir)/pixmaps
|
||||||
|
$(V1) $(MKDIR) -p $(DESTDIR)$(udevdir)
|
||||||
|
$(V1) $(INSTALL) $(BUILD_DIR)/openpilotgcs_$(GCS_BUILD_CONF)/bin/openpilotgcs $(DESTDIR)$(bindir)
|
||||||
|
$(V1) $(INSTALL) $(BUILD_DIR)/openpilotgcs_$(GCS_BUILD_CONF)/bin/udp_test $(DESTDIR)$(bindir)
|
||||||
|
$(V1) $(INSTALL) $(BUILD_DIR)/openpilotgcs_$(GCS_BUILD_CONF)/lib/openpilotgcs $(DESTDIR)$(libdir)
|
||||||
|
$(V1) $(INSTALL) $(BUILD_DIR)/openpilotgcs_$(GCS_BUILD_CONF)/share/openpilotgcs $(DESTDIR)$(datadir)
|
||||||
|
$(V1) $(INSTALL) $(ROOT_DIR)/package/linux/openpilot.desktop $(DESTDIR)$(datadir)/applications
|
||||||
|
$(V1) $(INSTALL) $(ROOT_DIR)/package/linux/openpilot.png $(DESTDIR)$(datadir)/pixmaps
|
||||||
|
$(V1) rm $(DESTDIR)/$(datadir)/openpilotgcs/translations/Makefile
|
||||||
|
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ export DH_OPTIONS
|
|||||||
|
|
||||||
# Disabled because OpenPilot makefile cleans and builds.
|
# Disabled because OpenPilot makefile cleans and builds.
|
||||||
override_dh_auto_clean:
|
override_dh_auto_clean:
|
||||||
#$(MAKE) all_clean
|
#
|
||||||
|
|
||||||
override_dh_auto_build:
|
override_dh_auto_build:
|
||||||
#dh_auto_build -- all
|
#dh_auto_build -- all
|
||||||
|
Loading…
x
Reference in New Issue
Block a user