#!/usr/bin/make -f # -*- makefile -*- # Sample debian/rules that uses debhelper. # This file was originally written by Joey Hess and Craig Small. # As a special exception, when this file is copied by dh-make into a # dh-make output file, you may use that output file without restriction. # This special exception was added by Craig Small in version 0.37 of dh-make. TAG := $(shell git describe --tags | cut -b2-) COMMENT := $(shell git tag -l -n1 $(TAG)) BUILD_NUMBER ?= 0 ROS_DISTRO ?= humble # Uncomment this to turn on verbose mode. export DH_VERBOSE=1 # TODO: remove the LDFLAGS override. It's here to avoid esoteric problems # of this sort: # https://code.ros.org/trac/ros/ticket/2977 # https://code.ros.org/trac/ros/ticket/3842 export LDFLAGS= export PKG_CONFIG_PATH=/opt/ros/$(ROS_DISTRO)/lib/pkgconfig # Explicitly enable -DNDEBUG, see: # https://github.com/ros-infrastructure/bloom/issues/327 export DEB_CXXFLAGS_MAINT_APPEND=-DNDEBUG ifneq ($(filter nocheck,$(DEB_BUILD_OPTIONS)),) BUILD_TESTING_ARG=-DBUILD_TESTING=OFF endif DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) %: dh $@ -v --buildsystem=cmake --builddirectory=.obj-$(DEB_HOST_GNU_TYPE) override_dh_auto_configure: # In case we're installing to a non-standard location, look for a setup.sh # in the install tree and source it. It will set things like # CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. if [ -f "/opt/ros/$(ROS_DISTRO)/setup.sh" ]; then . "/opt/ros/$(ROS_DISTRO)/setup.sh"; fi && \ dh_auto_configure -- \ -DCMAKE_INSTALL_PREFIX="/opt/ros/$(ROS_DISTRO)" \ -DAMENT_PREFIX_PATH="/opt/ros/$(ROS_DISTRO)" \ -DCMAKE_PREFIX_PATH="/opt/ros/$(ROS_DISTRO)" \ $(BUILD_TESTING_ARG) override_dh_auto_build: # In case we're installing to a non-standard location, look for a setup.sh # in the install tree and source it. It will set things like # CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. if [ -f "/opt/ros/$(ROS_DISTRO)/setup.sh" ]; then . "/opt/ros/$(ROS_DISTRO)/setup.sh"; fi && \ dh_auto_build override_dh_auto_test: # In case we're installing to a non-standard location, look for a setup.sh # in the install tree and source it. It will set things like # CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. # echo -- Running tests. Even if one of them fails the build is not canceled. # if [ -f "/opt/ros/$(ROS_DISTRO)/setup.sh" ]; then . "/opt/ros/$(ROS_DISTRO)/setup.sh"; fi && \ # dh_auto_test || true override_dh_shlibdeps: # In case we're installing to a non-standard location, look for a setup.sh # in the install tree and source it. It will set things like # CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. if [ -f "/opt/ros/$(ROS_DISTRO)/setup.sh" ]; then . "/opt/ros/$(ROS_DISTRO)/setup.sh"; fi && \ dh_shlibdeps -l$(CURDIR)/debian/ros-$(ROS_DISTRO)-edgefirst-msgs//opt/ros/$(ROS_DISTRO)/lib/:$(CURDIR)/debian/ros-$(ROS_DISTRO)-edgefirst-msgs//opt/ros/$(ROS_DISTRO)/opt/edgefirst_msgs/lib/ override_dh_auto_install: # In case we're installing to a non-standard location, look for a setup.sh # in the install tree and source it. It will set things like # CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. if [ -f "/opt/ros/$(ROS_DISTRO)/setup.sh" ]; then . "/opt/ros/$(ROS_DISTRO)/setup.sh"; fi && \ dh_auto_install version: $(RM) debian/changelog dch --create --distribution stable \ --package ros-$(ROS_DISTRO)-edgefirst-msgs \ --newversion $(TAG)-$(BUILD_NUMBER) "$(COMMENT)"