osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40029?usp=email )
Change subject: buildsystem/regen_makefile: modernize ......................................................................
buildsystem/regen_makefile: modernize
Apply various small changes to make this file more readable.
Change-Id: I5a7dcd6171c6a370928ebedafc5ed318384dd8dd --- M _buildsystem/regen_makefile.inc.sh 1 file changed, 19 insertions(+), 33 deletions(-)
Approvals: osmith: Looks good to me, approved Jenkins Builder: Verified
diff --git a/_buildsystem/regen_makefile.inc.sh b/_buildsystem/regen_makefile.inc.sh index 31dd491..5534ff5 100644 --- a/_buildsystem/regen_makefile.inc.sh +++ b/_buildsystem/regen_makefile.inc.sh @@ -1,19 +1,6 @@ # Copyright 2017-2019 Harald Welte -# Copyright 2018 sysmocom - s.f.m.c. GmbH -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - +# Copyright 2018-2025 sysmocom - s.f.m.c. GmbH +# SPDX-License-Identifier: Apache-2.0 # Wrapper around the TITAN make file generator
if [ -z "$NAME" ]; then @@ -26,16 +13,9 @@ exit 1 fi
-test -x "$(which ttcn3_makefilegen 2>/dev/null)" || { echo "ERROR: ttcn3_makefilegen not in PATH"; exit 1; } - -# Enable ccache if it can be found in path. -# This speeds up repeated builds of the TTCN3 tests by an order of magnitude -# since most of the generated C++ source files don't change very often. -# Roughly, for an initial build which takes N minutes, a complete rebuild -# after 'make clean' will only take N seconds with ccache. -# Note that ccache cannot speed up compilation of .o files to .so files. -if [ -z "$USE_CCACHE" ] && which ccache 2>/dev/null; then - USE_CCACHE=1 +if ! command -v ttcn3_makefilegen >/dev/null; then + echo "ERROR: ttcn3_makefilegen not in PATH" + exit 1 fi
ttcn3_makefilegen -g -p -l -U 8 -f -e "$NAME" $FILES @@ -43,31 +23,37 @@ sed -i -e 's/# TTCN3_DIR = /TTCN3_DIR = /usr/' Makefile sed -i -e 's/LDFLAGS = /LDFLAGS = -L /usr/lib/titan/' Makefile sed -i -e 's/LINUX_LIBS = -lxml2/LINUX_LIBS = -lxml2 -lsctp -lssl/' Makefile -#sed -i -e 's/TTCN3_LIB = ttcn3-parallel/TTCN3_LIB = ttcn3/' Makefile
# The -DMAKEDEPEND_RUN is a workaround for Debian packaging issue, # see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=879816 for details sed -i -e 's/CPPFLAGS = -D$(PLATFORM)/CPPFLAGS = -D$(PLATFORM) -DMAKEDEPEND_RUN -DUSE_SCTP -DLKSCTP_MULTIHOMING_ENABLED -DAS_USE_SSL/' Makefile
-#remove -Wall from CXXFLAGS: we're not interested in generic warnings for autogenerated code cluttering the logs +# Remove -Wall from CXXFLAGS: we're not interested in generic warnings for +# autogenerated code cluttering the logs sed -i -e 's/-Wall//' Makefile
-if [ "x$CPPFLAGS_TTCN3" != "x" ]; then +if [ -n "$CPPFLAGS_TTCN3" ]; then CPPFLAGS_TTCN3="$(echo "$CPPFLAGS_TTCN3" | tr -d '\n' | tr '\t' ' ')" sed -i -e "s/CPPFLAGS_TTCN3 =/CPPFLAGS_TTCN3 = $CPPFLAGS_TTCN3/" Makefile fi
-# for TITAN 6.3.0 +# For TITAN 6.3.0 if cat /etc/issue | grep "Arch Linux" >/dev/null 2>&1; then sed -i -e 's/TTCN3_DIR = $/TTCN3_DIR = /usr/ttcn3/' Makefile else sed -i -e 's/TTCN3_DIR = $/TTCN3_DIR = /usr/' Makefile fi
-if [ "x$USE_CCACHE" = "x1" ]; then - # enable ccache +# Enable ccache if it can be found in path. This speeds up repeated builds of +# the TTCN3 tests by an order of magnitude since most of the generated C++ +# source files don't change very often. Roughly, for an initial build which +# takes N minutes, a complete rebuild after 'make clean' will only take N +# seconds with ccache. Note that ccache cannot speed up compilation of .o files +# to .so files. +if [ "$USE_CCACHE" != 0 ] && command -v ccache >/dev/null; then sed -i -e 's/^CXX = g++ $/CXX = env CCACHE_SLOPPINESS=time_macros ccache g++/' Makefile - # Append the -D option to compiler flags. This option disables timestamps - # inside comments in the generated C++ code which interfere with ccache. + # Append the -D option to compiler flags. This option disables + # timestamps inside comments in the generated C++ code which interfere + # with ccache. sed -i -e 's/^COMPILER_FLAGS = (.*)/& -D/' Makefile fi