osmo-trx/Makefile.am

73 lines
1.7 KiB
Makefile
Raw Permalink Normal View History

#
# Copyright 2008 Free Software Foundation, Inc.
#
# This software is distributed under the terms of the GNU Public License.
# See the COPYING file in the main directory for details.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
include $(top_srcdir)/Makefile.common
ACLOCAL_AMFLAGS = -I config
AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(USB_INCLUDES) $(WITH_INCLUDES)
AM_CXXFLAGS = -Wall -pthread
#AM_CXXFLAGS = -Wall -O2 -NDEBUG -pthread
#AM_CFLAGS = -Wall -O2 -NDEBUG -pthread
SUBDIRS =
if ENABLE_MS_TRX
configure.ac: allow building without cloning submodules The MS TRX was intentionally added [1] as an optional feature, which requires a git submodule to be present in order to build libtrxcon. This feature can be enabled by passing --with-mstrx to the configure. But autoconf/automake is a mess. Despite in the root Makefile.am we are adding full submodule path to the SUBDIRS *conditionally*, the configure script would still fail if the submodule is not fetched: Makefile.am:32: error: required directory ./osmocom-bb/src/host/trxcon does not exist It would not even enter that directory if it's present, but somehow it's still required to exist. For the end user this means that cloning the submodule becomes a *necessary* step in order to build osmo-trx from source, even when the MS TRX is not really needed. The fact that we're unconditionally requiring the submodule, which is meant to be used by an optional feature feels wrong to me. It's also unusual for osmocom projects to require submodules, so it may (and already did) cause build failures when cloning as usual. Let's work this problem around by defining LIBTRXCON_DIR variable in configure.ac and using it in the root Makefile.am. If the MS TRX is not enabled explicitly, make autoconf/automake happy by assigning LIBTRXCON_DIR the submodule's root directory, which is always present but empty if the submodule is not fetched. Change-Id: I02ae2b37c82ae2f55e7d9bd92e226f2b8b023968 Related: [1] b7253c6fdc88a3e2e0c8b441dc3c34dfb1c15d24 Related: OS#5599, OS#5846
2022-12-27 20:36:11 +00:00
SUBDIRS += $(LIBTRXCON_DIR)
endif
# Order must be preserved
SUBDIRS += \
CommonLibs \
GSM \
Transceiver52M \
contrib \
tests \
utils \
doc \
$(NULL)
BUILT_SOURCES = $(top_srcdir)/.version
$(top_srcdir)/.version:
echo $(VERSION) > $@-t && mv $@-t $@
dist-hook:
echo $(VERSION) > $(distdir)/.tarball-version
EXTRA_DIST = \
.version \
LEGAL \
COPYING \
README.md \
contrib/osmo-trx.spec.in \
debian \
git-version-gen \
$(NULL)
AM_DISTCHECK_CONFIGURE_FLAGS = \
--with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir)
.PHONY: release
@RELMAKE@
dox: FORCE
doxygen doxconfig
FORCE: