[PATCH] osmo-ttcn3-hacks[master]: Move make artifacts to build subdir

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Pau Espin Pedrol gerrit-no-reply at lists.osmocom.org
Tue Mar 20 21:30:54 UTC 2018


Hello Jenkins Builder,

I'd like you to reexamine a change.  Please visit

    https://gerrit.osmocom.org/7405

to look at the new patch set (#4).

Move make artifacts to build subdir

Avoid having 50-100 symlinks and .o objects in the same dir where the
source/cfg files are. Move them instead to a ./build subdir.

A new symlink FooSuite/build/TestBinary -> FooSuite/TestBinary is added
to keep compatibility with docker-playground containers.

Change-Id: Id9ca176869ce6b80ccf2b2fff6554b121e1aa85c
---
M .gitignore
M Makefile
M bsc-nat/gen_links.sh
M bsc-nat/regen_makefile.sh
M bsc/gen_links.sh
M bsc/regen_makefile.sh
M bts/gen_links.sh
M bts/regen_makefile.sh
M gen_links.sh.inc
M ggsn_tests/gen_links.sh
M ggsn_tests/regen_makefile.sh
M hlr/gen_links.sh
M hlr/regen_makefile.sh
M lapdm/gen_links.sh
M lapdm/regen_makefile.sh
M mgw/gen_links.sh
M mgw/regen_makefile.sh
M msc/gen_links.sh
M msc/regen_makefile.sh
M pcu/gen_links.sh
M pcu/regen_makefile.sh
M selftest/gen_links.sh
M selftest/regen_makefile.sh
M sgsn/gen_links.sh
M sgsn/regen_makefile.sh
M start-testsuite.sh
M sysinfo/gen_links.sh
M sysinfo/regen_makefile.sh
28 files changed, 381 insertions(+), 275 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/05/7405/4

diff --git a/.gitignore b/.gitignore
index bf5baa0..0ca978f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,3 +14,4 @@
 */Makefile
 !bin/Makefile
 !deps/Makefile
+*/build
diff --git a/Makefile b/Makefile
index 0defc31..bf2d70c 100644
--- a/Makefile
+++ b/Makefile
@@ -29,29 +29,29 @@
 all: $(foreach dir,$(SUBDIRS),$(dir)/all)
 
 define DIR_Makefile_template
-$(1)/Makefile:
+$(1)/build/Makefile:
 	(cd $(1) && ./gen_links.sh && ./regen_makefile.sh)
 endef
 
 define DIR_compile_template
 .PHONY: $(1)/compile
-$(1)/compile: deps $(1)/Makefile
-	$(MAKE) -C $(1) compile
+$(1)/compile: deps $(1)/build/Makefile
+	$(MAKE) -C $(1)/build compile
 endef
 
 define DIR_clean_template
 .PHONY: $(1)/clean
-$(1)/clean: $(1)/Makefile
-	$(MAKE) -C $(1) clean
-	(cd $(1) && ../rmlinks.sh && rm Makefile)
+$(1)/clean: $(1)/build/Makefile
+	$(MAKE) -C $(1)/build clean
+	(cd $(1)/build && ../../rmlinks.sh && rm Makefile)
 endef
 
 define DIR_all_template
 $(1): $(1)/all
 .PHONY: $(1)/all
-$(1)/all: deps $(1)/Makefile
-	$(MAKE) -C $(1) compile
-	$(MAKE) $(PARALLEL_MAKE) -C $(1)
+$(1)/all: deps $(1)/build/Makefile
+	$(MAKE) -C $(1)/build compile
+	$(MAKE) $(PARALLEL_MAKE) -C $(1)/build
 endef
 
 $(foreach dir,$(SUBDIRS), \
diff --git a/bsc-nat/gen_links.sh b/bsc-nat/gen_links.sh
index 453d8ca..4d83183 100755
--- a/bsc-nat/gen_links.sh
+++ b/bsc-nat/gen_links.sh
@@ -1,53 +1,56 @@
 #!/bin/sh
 
-BASEDIR=../deps
+BASEDIR=$(readlink -f ..)
+DSTDIR=./build
 
-. ../gen_links.sh.inc
+. $BASEDIR/gen_links.sh.inc
 
-#DIR=$BASEDIR/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
+mkdir -p $DSTDIR
+
+#DIR=$BASEDIR/deps/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
 #FILES="UD_PT.cc  UD_PT.hh  UD_PortType.ttcn  UD_Types.ttcn"
-#gen_links $DIR $FILES
+#gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src
+DIR=$BASEDIR/deps/titan.Libraries.TCCUsefulFunctions/src
 FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc TCCInterface.cc TCCInterface_ip.h SDP_EncDec.cc"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src
+DIR=$BASEDIR/deps/titan.TestPorts.Common_Components.Socket-API/src
 FILES="Socket_API_Definitions.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.IPL4asp/src
+DIR=$BASEDIR/deps/titan.TestPorts.IPL4asp/src
 FILES="IPL4asp_Functions.ttcn  IPL4asp_PT.cc  IPL4asp_PT.hh IPL4asp_PortType.ttcn  IPL4asp_Types.ttcn  IPL4asp_discovery.cc IPL4asp_protocol_L234.hh"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 # required by SCCP Emulation
-DIR=$BASEDIR/titan.TestPorts.MTP3asp/src
+DIR=$BASEDIR/deps/titan.TestPorts.MTP3asp/src
 FILES="MTP3asp_PortType.ttcn  MTP3asp_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolEmulations.SCCP/src
+DIR=$BASEDIR/deps/titan.ProtocolEmulations.SCCP/src
 FILES="SCCP_Emulation.ttcn  SCCP_EncDec.cc  SCCP_Mapping.ttcnpp  SCCP_Types.ttcn  SCCPasp_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.BSSMAP_v11.2.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.BSSMAP_v11.2.0/src
 FILES="BSSAP_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.MobileL3_v13.4.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.MobileL3_v13.4.0/src
 FILES="MobileL3_CC_Types.ttcn MobileL3_CommonIE_Types.ttcn MobileL3_GMM_SM_Types.ttcn MobileL3_MM_Types.ttcn MobileL3_RRM_Types.ttcn MobileL3_SMS_Types.ttcn MobileL3_SS_Types.ttcn MobileL3_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.SDP/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.SDP/src
 FILES="SDP_EncDec.cc SDP_Types.ttcn SDP_parse_.tab.c SDP_parse_.tab.h SDP_parse_parser.h SDP_parser.l
 SDP_parser.y lex.SDP_parse_.c"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.RTP/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.RTP/src
 FILES="RTP_EncDec.cc RTP_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=../library
+DIR=$BASEDIR/library
 FILES="General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn BSSMAP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn BSSAP_CodecPort.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 ignore_pp_results
diff --git a/bsc-nat/regen_makefile.sh b/bsc-nat/regen_makefile.sh
index 5c25366..c982c9d 100755
--- a/bsc-nat/regen_makefile.sh
+++ b/bsc-nat/regen_makefile.sh
@@ -1,9 +1,14 @@
 #!/bin/sh
 
-MAIN=IPA_Test.ttcn
+cd build || exit 1
+
+MAIN=../IPA_Test.ttcn
 
 FILES="*.ttcn *.ttcnpp SCCP_EncDec.cc IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc RTP_EncDec.cc SDP_EncDec.cc *.c MGCP_CodecPort_CtrlFunctDef.cc"
 
 export CPPFLAGS_TTCN3="-DIPA_EMULATION_SCCP -DIPA_EMULATION_MGCP -DUSE_MTP3_DISTRIBUTOR"
 
-../regen-makefile.sh $MAIN $FILES
+../../regen-makefile.sh $MAIN ../*.ttcn $FILES
+
+# Left here for compatibility with docker-playground:
+ln -s build/IPA_Test ../IPA_Test || true
diff --git a/bsc/gen_links.sh b/bsc/gen_links.sh
index a6a1b0a..ed75ea4 100755
--- a/bsc/gen_links.sh
+++ b/bsc/gen_links.sh
@@ -1,73 +1,76 @@
 #!/bin/sh
 
-BASEDIR=../deps
+BASEDIR=$(readlink -f ..)
+DSTDIR=./build
 
-. ../gen_links.sh.inc
+. $BASEDIR/gen_links.sh.inc
 
-#DIR=$BASEDIR/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
+mkdir -p $DSTDIR
+
+#DIR=$BASEDIR/deps/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
 #FILES="UD_PT.cc  UD_PT.hh  UD_PortType.ttcn  UD_Types.ttcn"
-#gen_links $DIR $FILES
+#gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src
+DIR=$BASEDIR/deps/titan.Libraries.TCCUsefulFunctions/src
 FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc TCCInterface.cc TCCInterface_ip.h SDP_EncDec.cc"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src
+DIR=$BASEDIR/deps/titan.TestPorts.Common_Components.Socket-API/src
 FILES="Socket_API_Definitions.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 # Required by MGCP and IPA
-DIR=$BASEDIR/titan.TestPorts.IPL4asp/src
+DIR=$BASEDIR/deps/titan.TestPorts.IPL4asp/src
 FILES="IPL4asp_Functions.ttcn  IPL4asp_PT.cc  IPL4asp_PT.hh IPL4asp_PortType.ttcn  IPL4asp_Types.ttcn  IPL4asp_discovery.cc IPL4asp_protocol_L234.hh"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 # required by M3UA_Emulation
-DIR=$BASEDIR/titan.ProtocolModules.M3UA/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.M3UA/src
 FILES="M3UA_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 # required by M3UA_Emulation
-DIR=$BASEDIR/titan.TestPorts.SCTPasp/src
+DIR=$BASEDIR/deps/titan.TestPorts.SCTPasp/src
 FILES="SCTPasp_PT.cc  SCTPasp_PT.hh  SCTPasp_PortType.ttcn  SCTPasp_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 # required by SCCP Emulation
-DIR=$BASEDIR/titan.ProtocolEmulations.M3UA/src
+DIR=$BASEDIR/deps/titan.ProtocolEmulations.M3UA/src
 FILES="M3UA_Emulation.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 # required by SCCP Emulation
-DIR=$BASEDIR/titan.TestPorts.MTP3asp/src
+DIR=$BASEDIR/deps/titan.TestPorts.MTP3asp/src
 FILES="MTP3asp_PortType.ttcn  MTP3asp_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolEmulations.SCCP/src
+DIR=$BASEDIR/deps/titan.ProtocolEmulations.SCCP/src
 FILES="SCCP_Emulation.ttcn  SCCP_Mapping.ttcnpp  SCCP_Types.ttcn  SCCPasp_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.BSSMAP_v11.2.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.BSSMAP_v11.2.0/src
 FILES="BSSAP_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.MobileL3_v13.4.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.MobileL3_v13.4.0/src
 FILES="MobileL3_CC_Types.ttcn MobileL3_CommonIE_Types.ttcn MobileL3_GMM_SM_Types.ttcn MobileL3_MM_Types.ttcn MobileL3_RRM_Types.ttcn MobileL3_SMS_Types.ttcn MobileL3_SS_Types.ttcn MobileL3_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.SDP/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.SDP/src
 FILES="SDP_EncDec.cc SDP_Types.ttcn SDP_parse_.tab.c SDP_parse_.tab.h SDP_parse_parser.h SDP_parser.l
 SDP_parser.y lex.SDP_parse_.c"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.RTP/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.RTP/src
 FILES="RTP_EncDec.cc RTP_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.TELNETasp/src
+DIR=$BASEDIR/deps/titan.TestPorts.TELNETasp/src
 FILES="TELNETasp_PT.cc  TELNETasp_PT.hh  TELNETasp_PortType.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=../library
+DIR=$BASEDIR/library
 FILES="General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn BSSMAP_Emulation.ttcn RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn RSL_Emulation.ttcn MGCP_Emulation.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc BSSAP_CodecPort.ttcn BSSAP_Adapter.ttcn Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunct.ttcn RTP_CodecPort_CtrlFunctDef.cc RTP_Emulation.ttcn IuUP_Types.ttcn IuUP_EncDec.cc IuUP_Emulation.ttcn "
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 ignore_pp_results
diff --git a/bsc/regen_makefile.sh b/bsc/regen_makefile.sh
index 1e52252..9d87994 100755
--- a/bsc/regen_makefile.sh
+++ b/bsc/regen_makefile.sh
@@ -1,9 +1,14 @@
 #!/bin/sh
 
-MAIN=BSC_Tests.ttcn
+cd build || exit 1
+
+MAIN=../BSC_Tests.ttcn
 
 FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc SCTPasp_PT.cc RTP_EncDec.cc SDP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc IuUP_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc *.c"
 
 export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DIPA_EMULATION_MGCP -DUSE_MTP3_DISTRIBUTOR"
 
-../regen-makefile.sh $MAIN $FILES
+../../regen-makefile.sh $MAIN ../*.ttcn $FILES
+
+# Left here for compatibility with docker-playground:
+ln -s build/BSC_Tests ../BSC_Tests || true
diff --git a/bts/gen_links.sh b/bts/gen_links.sh
index b6c4e12..9647dee 100755
--- a/bts/gen_links.sh
+++ b/bts/gen_links.sh
@@ -1,38 +1,41 @@
 #!/bin/bash
 
-BASEDIR=../deps
+BASEDIR=$(readlink -f ..)
+DSTDIR=./build
 
-. ../gen_links.sh.inc
+. $BASEDIR/gen_links.sh.inc
 
-#DIR=$BASEDIR/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
+mkdir -p $DSTDIR
+
+#DIR=$BASEDIR/deps/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
 #FILES="UD_PT.cc  UD_PT.hh  UD_PortType.ttcn  UD_Types.ttcn"
-#gen_links $DIR $FILES
+#gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src
+DIR=$BASEDIR/deps/titan.Libraries.TCCUsefulFunctions/src
 FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc TCCInterface.cc TCCInterface_ip.h"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src
+DIR=$BASEDIR/deps/titan.TestPorts.Common_Components.Socket-API/src
 FILES="Socket_API_Definitions.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.IPL4asp/src
+DIR=$BASEDIR/deps/titan.TestPorts.IPL4asp/src
 FILES="IPL4asp_Functions.ttcn  IPL4asp_PT.cc  IPL4asp_PT.hh IPL4asp_PortType.ttcn  IPL4asp_Types.ttcn  IPL4asp_discovery.cc IPL4asp_protocol_L234.hh"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
+DIR=$BASEDIR/deps/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
 FILES="UD_PT.cc  UD_PT.hh  UD_PortType.ttcn  UD_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.MobileL3_v13.4.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.MobileL3_v13.4.0/src
 FILES="MobileL3_CC_Types.ttcn MobileL3_CommonIE_Types.ttcn MobileL3_GMM_SM_Types.ttcn MobileL3_MM_Types.ttcn MobileL3_RRM_Types.ttcn MobileL3_SMS_Types.ttcn MobileL3_SS_Types.ttcn MobileL3_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.TELNETasp/src
+DIR=$BASEDIR/deps/titan.TestPorts.TELNETasp/src
 FILES="TELNETasp_PT.cc  TELNETasp_PT.hh  TELNETasp_PortType.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=../library
+DIR=$BASEDIR/library
 FILES="General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_VTY_Functions.ttcn GSM_SystemInformation.ttcn Osmocom_Types.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc L1CTL_Types.ttcn L1CTL_PortType.ttcn L1CTL_PortType_CtrlFunct.ttcn L1CTL_PortType_CtrlFunctDef.cc LAPDm_RAW_PT.ttcn LAPDm_Types.ttcn "
 #FILES+="NS_Emulation.ttcn NS_CodecPort.ttcn NS_CodecPort_CtrlFunct.ttcn NS_CodecPort_CtrlFunctDef.cc "
 #FILES+="BSSGP_Emulation.ttcn Osmocom_Gb_Types.ttcn "
@@ -42,6 +45,6 @@
 FILES+="Native_Functions.ttcn Native_FunctionDefs.cc "
 FILES+="TRXC_Types.ttcn TRXC_CodecPort.ttcn TRXC_CodecPort_CtrlFunct.ttcn TRXC_CodecPort_CtrlFunctDef.cc "
 FILES+="PCUIF_Types.ttcn PCUIF_CodecPort.ttcn "
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 ignore_pp_results
diff --git a/bts/regen_makefile.sh b/bts/regen_makefile.sh
index 9ed5a06..2077b6a 100755
--- a/bts/regen_makefile.sh
+++ b/bts/regen_makefile.sh
@@ -1,7 +1,9 @@
 #!/bin/sh
 
+cd build || exit 1
+
 FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc UD_PT.cc RLCMAC_EncDec.cc Native_FunctionDefs.cc TRXC_CodecPort_CtrlFunctDef.cc L1CTL_PortType_CtrlFunctDef.cc TELNETasp_PT.cc"
 
 export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL"
 
-../regen-makefile.sh BTS_Tests.ttcn $FILES
+../../regen-makefile.sh ../*.ttcn $FILES
diff --git a/gen_links.sh.inc b/gen_links.sh.inc
index 8a87359..2e45dfc 100644
--- a/gen_links.sh.inc
+++ b/gen_links.sh.inc
@@ -14,9 +14,11 @@
 gen_links() {
 	DIR=$1
 	shift
+	DSTDIR=$1
+	shift
 	FILES=$*
 	for f in $FILES; do
-		gen_link "$DIR/$f" "$f"
+		gen_link "$DIR/$f" "$DSTDIR/$f"
 	done
 }
 
diff --git a/ggsn_tests/gen_links.sh b/ggsn_tests/gen_links.sh
index 6ef52e1..1cc6b5a 100755
--- a/ggsn_tests/gen_links.sh
+++ b/ggsn_tests/gen_links.sh
@@ -1,48 +1,51 @@
 #!/bin/bash
 
-BASEDIR=../deps
+BASEDIR=$(readlink -f ..)
+DSTDIR=./build
 
-. ../gen_links.sh.inc
+. $BASEDIR/gen_links.sh.inc
 
-#DIR=$BASEDIR/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
+mkdir -p $DSTDIR
+
+#DIR=$BASEDIR/deps/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
 #FILES="UD_PT.cc  UD_PT.hh  UD_PortType.ttcn  UD_Types.ttcn"
-#gen_links $DIR $FILES
+#gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src
+DIR=$BASEDIR/deps/titan.Libraries.TCCUsefulFunctions/src
 FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc TCCInterface.cc TCCInterface_ip.h"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src
+DIR=$BASEDIR/deps/titan.TestPorts.Common_Components.Socket-API/src
 FILES="Socket_API_Definitions.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.IPL4asp/src
+DIR=$BASEDIR/deps/titan.TestPorts.IPL4asp/src
 FILES="IPL4asp_Functions.ttcn  IPL4asp_PT.cc  IPL4asp_PT.hh IPL4asp_PortType.ttcn  IPL4asp_Types.ttcn  IPL4asp_discovery.cc IPL4asp_protocol_L234.hh"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.ICMP/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.ICMP/src
 FILES="ICMP_EncDec.cc  ICMP_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.ICMPv6/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.ICMPv6/src
 FILES="ICMPv6_EncDec.cc  ICMPv6_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.IP/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.IP/src
 FILES="IP_EncDec.cc  IP_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.UDP/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.UDP/src
 FILES="UDP_EncDec.cc  UDP_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.GTP_v13.5.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.GTP_v13.5.0/src
 FILES="GTPC_EncDec.cc  GTPC_Types.ttcn  GTPU_EncDec.cc  GTPU_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=../library
+DIR=$BASEDIR/library
 FILES="General_Types.ttcn GSM_Types.ttcn Osmocom_Types.ttcn Native_Functions.ttcn Native_FunctionDefs.cc IPCP_Types.ttcn "
 FILES+="GTP_CodecPort.ttcn GTP_CodecPort_CtrlFunct.ttcn GTP_CodecPort_CtrlFunctDef.cc GTP_Templates.ttcn "
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 ignore_pp_results
diff --git a/ggsn_tests/regen_makefile.sh b/ggsn_tests/regen_makefile.sh
index 2fc74f7..62dfa70 100755
--- a/ggsn_tests/regen_makefile.sh
+++ b/ggsn_tests/regen_makefile.sh
@@ -1,5 +1,12 @@
 #!/bin/sh
 
+cd build || exit 1
+
+MAIN=../GGSN_Tests.ttcn
+
 FILES="*.ttcn IPL4asp_PT.cc  IPL4asp_discovery.cc  TCCConversion.cc  TCCInterface.cc GTPC_EncDec.cc GTPU_EncDec.cc GTP_CodecPort_CtrlFunctDef.cc ICMPv6_EncDec.cc IP_EncDec.cc Native_FunctionDefs.cc UDP_EncDec.cc ICMP_EncDec.cc"
 
-../regen-makefile.sh GGSN_Tests.ttcn $FILES
+../../regen-makefile.sh $MAIN $FILES
+
+# Left here for compatibility with docker-playground:
+ln -s build/GGSN_Tests ../GGSN_Tests || true
diff --git a/hlr/gen_links.sh b/hlr/gen_links.sh
index c265eb8..037c1c4 100755
--- a/hlr/gen_links.sh
+++ b/hlr/gen_links.sh
@@ -1,31 +1,34 @@
 #!/bin/bash
 
-BASEDIR=../deps
+BASEDIR=$(readlink -f ..)
+DSTDIR=./build
 
-. ../gen_links.sh.inc
+. $BASEDIR/gen_links.sh.inc
 
-DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src
+mkdir -p $DSTDIR
+
+DIR=$BASEDIR/deps/titan.Libraries.TCCUsefulFunctions/src
 FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc
 TCCInterface.cc TCCInterface_ip.h"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src
+DIR=$BASEDIR/deps/titan.TestPorts.Common_Components.Socket-API/src
 FILES="Socket_API_Definitions.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.IPL4asp/src
+DIR=$BASEDIR/deps/titan.TestPorts.IPL4asp/src
 FILES="IPL4asp_Functions.ttcn  IPL4asp_PT.cc  IPL4asp_PT.hh IPL4asp_PortType.ttcn  IPL4asp_Types.ttcn  IPL4asp_discovery.cc IPL4asp_protocol_L234.hh"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.TELNETasp/src
+DIR=$BASEDIR/deps/titan.TestPorts.TELNETasp/src
 FILES="TELNETasp_PT.cc  TELNETasp_PT.hh  TELNETasp_PortType.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=../library
+DIR=$BASEDIR/library
 FILES="General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp GSUP_Types.ttcn "
 FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn "
 FILES+="Osmocom_VTY_Functions.ttcn "
 
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 ignore_pp_results
diff --git a/hlr/regen_makefile.sh b/hlr/regen_makefile.sh
index 56f6671..700f349 100755
--- a/hlr/regen_makefile.sh
+++ b/hlr/regen_makefile.sh
@@ -1,9 +1,14 @@
 #!/bin/sh
 
-MAIN="HLR_Tests.ttcn"
+cd build || exit 1
+
+MAIN="../HLR_Tests.ttcn"
 
 FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc TELNETasp_PT.cc"
 
 export CPPFLAGS_TTCN3="-DIPA_EMULATION_GSUP -DIPA_EMULATION_CTRL"
 
-../regen-makefile.sh $MAIN $FILES
+../../regen-makefile.sh $MAIN ../*.ttcn $FILES
+
+# Left here for compatibility with docker-playground:
+ln -s build/HLR_Tests ../HLR_Tests || true
diff --git a/lapdm/gen_links.sh b/lapdm/gen_links.sh
index 6236edd..019d57f 100755
--- a/lapdm/gen_links.sh
+++ b/lapdm/gen_links.sh
@@ -1,20 +1,23 @@
 #!/bin/sh
 
-BASEDIR=../deps
+BASEDIR=$(readlink -f ..)
+DSTDIR=./build
 
-. ../gen_links.sh.inc
+. $BASEDIR/gen_links.sh.inc
 
-DIR=$BASEDIR/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
+mkdir -p $DSTDIR
+
+DIR=$BASEDIR/deps/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
 FILES="UD_PT.cc  UD_PT.hh  UD_PortType.ttcn  UD_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src
+DIR=$BASEDIR/deps/titan.TestPorts.Common_Components.Socket-API/src
 FILES="Socket_API_Definitions.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 
-DIR=../library
+DIR=$BASEDIR/library
 FILES="General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn RLCMAC_CSN1_Types.ttcn Osmocom_Types.ttcn L1CTL_PortType.ttcn L1CTL_PortType_CtrlFunct.ttcn L1CTL_PortType_CtrlFunctDef.cc L1CTL_Types.ttcn LAPDm_RAW_PT.ttcn LAPDm_Types.ttcn RLCMAC_Types.ttcn RLCMAC_EncDec.cc"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 ignore_pp_results
diff --git a/lapdm/regen_makefile.sh b/lapdm/regen_makefile.sh
index bb02fe8..ec47f65 100755
--- a/lapdm/regen_makefile.sh
+++ b/lapdm/regen_makefile.sh
@@ -1,5 +1,10 @@
 #!/bin/sh
 
+cd build || exit 1
+
 FILES="*.ttcn UD_PT.cc UD_PT.hh RLCMAC_EncDec.cc L1CTL_PortType_CtrlFunctDef.cc"
 
-../regen-makefile.sh L1CTL_Test.ttcn $FILES
+../../regen-makefile.sh ../*.ttcn $FILES
+
+# Left here for compatibility with docker-playground:
+ln -s build/L1CTL_Test ../L1CTL_Test || true
diff --git a/mgw/gen_links.sh b/mgw/gen_links.sh
index d307148..6b94012 100755
--- a/mgw/gen_links.sh
+++ b/mgw/gen_links.sh
@@ -1,36 +1,39 @@
 #!/bin/sh
 
-BASEDIR=../deps
+BASEDIR=$(readlink -f ..)
+DSTDIR=./build
 
-. ../gen_links.sh.inc
+. $BASEDIR/gen_links.sh.inc
 
-#DIR=$BASEDIR/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
+mkdir -p $DSTDIR
+
+#DIR=$BASEDIR/deps/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
 #FILES="UD_PT.cc  UD_PT.hh  UD_PortType.ttcn  UD_Types.ttcn"
-#gen_links $DIR $FILES
+#gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src
+DIR=$BASEDIR/deps/titan.Libraries.TCCUsefulFunctions/src
 FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc TCCInterface.cc TCCInterface_ip.h"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src
+DIR=$BASEDIR/deps/titan.TestPorts.Common_Components.Socket-API/src
 FILES="Socket_API_Definitions.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.IPL4asp/src
+DIR=$BASEDIR/deps/titan.TestPorts.IPL4asp/src
 FILES="IPL4asp_Functions.ttcn  IPL4asp_PT.cc  IPL4asp_PT.hh IPL4asp_PortType.ttcn  IPL4asp_Types.ttcn  IPL4asp_discovery.cc IPL4asp_protocol_L234.hh"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.SDP/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.SDP/src
 FILES="SDP_EncDec.cc SDP_Types.ttcn SDP_parse_.tab.c SDP_parse_.tab.h SDP_parse_parser.h SDP_parser.l
 SDP_parser.y lex.SDP_parse_.c"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.RTP/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.RTP/src
 FILES="RTP_EncDec.cc RTP_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=../library
-FILES="General_Types.ttcn Osmocom_Types.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc RTP_CodecPort.ttcn"
-gen_links $DIR $FILES
+DIR=$BASEDIR/library
+FILES="General_Types.ttcn Osmocom_Types.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_CodecPort_CtrlFunctDef.cc RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunctDef.cc"
+gen_links $DIR $DSTDIR $FILES
 
 ignore_pp_results
diff --git a/mgw/regen_makefile.sh b/mgw/regen_makefile.sh
index 9b94d69..c5eed8f 100755
--- a/mgw/regen_makefile.sh
+++ b/mgw/regen_makefile.sh
@@ -1,5 +1,12 @@
 #!/bin/sh
 
+cd build || exit 1
+
+MAIN=../MGCP_Test.ttcn
+
 FILES="*.ttcn SDP_EncDec.cc *.c MGCP_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc RTP_EncDec.cc RTP_CodecPort_CtrlFunctDef.cc"
 
-../regen-makefile.sh MGCP_Test.ttcn $FILES
+../../regen-makefile.sh $MAIN ../*.ttcn $FILES
+
+# Left here for compatibility with docker-playground:
+ln -s build/MGCP_Test ../MGCP_Test || true
diff --git a/msc/gen_links.sh b/msc/gen_links.sh
index efb3770..b4ddc4d 100755
--- a/msc/gen_links.sh
+++ b/msc/gen_links.sh
@@ -1,78 +1,81 @@
 #!/bin/bash
 
-BASEDIR=../deps
+BASEDIR=$(readlink -f ..)
+DSTDIR=./build
 
-. ../gen_links.sh.inc
+. $BASEDIR/gen_links.sh.inc
 
-DIR=$BASEDIR/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
+mkdir -p $DSTDIR
+
+DIR=$BASEDIR/deps/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
 FILES="UD_PT.cc  UD_PT.hh  UD_PortType.ttcn  UD_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src
+DIR=$BASEDIR/deps/titan.Libraries.TCCUsefulFunctions/src
 FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc TCCInterface.cc TCCInterface_ip.h"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src
+DIR=$BASEDIR/deps/titan.TestPorts.Common_Components.Socket-API/src
 FILES="Socket_API_Definitions.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 # Required by MGCP and IPA
-DIR=$BASEDIR/titan.TestPorts.IPL4asp/src
+DIR=$BASEDIR/deps/titan.TestPorts.IPL4asp/src
 FILES="IPL4asp_Functions.ttcn  IPL4asp_PT.cc  IPL4asp_PT.hh IPL4asp_PortType.ttcn  IPL4asp_Types.ttcn  IPL4asp_discovery.cc IPL4asp_protocol_L234.hh"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 # required by M3UA_Emulation
-DIR=$BASEDIR/titan.ProtocolModules.M3UA/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.M3UA/src
 FILES="M3UA_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 # required by M3UA_Emulation
-DIR=$BASEDIR/titan.TestPorts.SCTPasp/src
+DIR=$BASEDIR/deps/titan.TestPorts.SCTPasp/src
 FILES="SCTPasp_PT.cc  SCTPasp_PT.hh  SCTPasp_PortType.ttcn  SCTPasp_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 # required by M3UA Emulation
-DIR=$BASEDIR/titan.TestPorts.MTP3asp/src
+DIR=$BASEDIR/deps/titan.TestPorts.MTP3asp/src
 FILES="MTP3asp_PortType.ttcn  MTP3asp_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 # required by SCCP Emulation
-DIR=$BASEDIR/titan.ProtocolEmulations.M3UA/src
+DIR=$BASEDIR/deps/titan.ProtocolEmulations.M3UA/src
 FILES="M3UA_Emulation.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolEmulations.SCCP/src
+DIR=$BASEDIR/deps/titan.ProtocolEmulations.SCCP/src
 FILES="SCCP_Emulation.ttcn  SCCP_EncDec.cc  SCCP_Mapping.ttcnpp  SCCP_Types.ttcn  SCCPasp_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.BSSMAP_v11.2.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.BSSMAP_v11.2.0/src
 FILES="BSSAP_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.MobileL3_v13.4.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.MobileL3_v13.4.0/src
 FILES="MobileL3_CC_Types.ttcn MobileL3_CommonIE_Types.ttcn MobileL3_GMM_SM_Types.ttcn MobileL3_MM_Types.ttcn MobileL3_RRM_Types.ttcn MobileL3_SMS_Types.ttcn MobileL3_SS_Types.ttcn MobileL3_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.SDP/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.SDP/src
 FILES="SDP_EncDec.cc SDP_Types.ttcn SDP_parse_.tab.c SDP_parse_.tab.h SDP_parse_parser.h SDP_parser.l
 SDP_parser.y lex.SDP_parse_.c"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.RTP/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.RTP/src
 FILES="RTP_EncDec.cc RTP_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.TELNETasp/src
+DIR=$BASEDIR/deps/titan.TestPorts.TELNETasp/src
 FILES="TELNETasp_PT.cc  TELNETasp_PT.hh  TELNETasp_PortType.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=../library
+DIR=$BASEDIR/library
 FILES="General_Types.ttcn GSM_Types.ttcn Osmocom_Types.ttcn MNCC_Types.ttcn MNCC_EncDec.cc MNCC_CodecPort.ttcn mncc.h MNCC_Emulation.ttcn Osmocom_VTY_Functions.ttcn Native_Functions.ttcn Native_FunctionDefs.cc "
 FILES+="IPA_Types.ttcn IPA_Emulation.ttcnpp IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc GSUP_Types.ttcn GSUP_Emulation.ttcn "
 FILES+="Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn Osmocom_CTRL_Adapter.ttcn L3_Templates.ttcn L3_Common.ttcn "
 FILES+="BSSMAP_Emulation.ttcn BSSAP_CodecPort.ttcn BSSMAP_Templates.ttcn BSSAP_Adapter.ttcn MGCP_Types.ttcn MGCP_Templates.ttcn MGCP_CodecPort_CtrlFunct.ttcn MGCP_Emulation.ttcn "
 FILES+="RTP_CodecPort.ttcn RTP_CodecPort_CtrlFunctDef.cc "
 FILES+="MGCP_CodecPort.ttcn MGCP_CodecPort_CtrlFunctDef.cc "
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 ignore_pp_results
diff --git a/msc/regen_makefile.sh b/msc/regen_makefile.sh
index c3db4e7..eb6d157 100755
--- a/msc/regen_makefile.sh
+++ b/msc/regen_makefile.sh
@@ -1,7 +1,14 @@
 #!/bin/sh
 
+cd build || exit 1
+
+MAIN=../MSC_Tests.ttcn
+
 FILES="*.ttcn *.ttcnpp SCCP_EncDec.cc  SCTPasp_PT.cc  TCCConversion.cc TCCInterface.cc UD_PT.cc MNCC_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc SDP_EncDec.cc RTP_EncDec.cc IPA_CodecPort_CtrlFunctDef.cc RTP_CodecPort_CtrlFunctDef.cc MGCP_CodecPort_CtrlFunctDef.cc TELNETasp_PT.cc Native_FunctionDefs.cc *.c"
 
 export CPPFLAGS_TTCN3="-DIPA_EMULATION_MGCP -DIPA_EMULATION_GSUP -DUSE_MTP3_DISTRIBUTOR"
 
-../regen-makefile.sh MSC_Tests.ttcn $FILES
+../../regen-makefile.sh $MAIN ../*.ttcn $FILES
+
+# Left here for compatibility with docker-playground:
+ln -s build/MSC_Tests ../MSC_Tests || true
diff --git a/pcu/gen_links.sh b/pcu/gen_links.sh
index 06ed606..2430a96 100755
--- a/pcu/gen_links.sh
+++ b/pcu/gen_links.sh
@@ -1,55 +1,58 @@
 #!/bin/bash
 
-BASEDIR=../deps
+BASEDIR=$(readlink -f ..)
+DSTDIR=./build
 
-. ../gen_links.sh.inc
+. $BASEDIR/gen_links.sh.inc
+
+mkdir -p $DSTDIR
 
 #DIR=$BASEDIR/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
 #FILES="UD_PT.cc  UD_PT.hh  UD_PortType.ttcn  UD_Types.ttcn"
-#gen_links $DIR $FILES
+#gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src
+DIR=$BASEDIR/deps/titan.Libraries.TCCUsefulFunctions/src
 FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc TCCInterface.cc TCCInterface_ip.h"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src
+DIR=$BASEDIR/deps/titan.TestPorts.Common_Components.Socket-API/src
 FILES="Socket_API_Definitions.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.IPL4asp/src
+DIR=$BASEDIR/deps/titan.TestPorts.IPL4asp/src
 FILES="IPL4asp_Functions.ttcn  IPL4asp_PT.cc  IPL4asp_PT.hh IPL4asp_PortType.ttcn  IPL4asp_Types.ttcn  IPL4asp_discovery.cc IPL4asp_protocol_L234.hh"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
+DIR=$BASEDIR/deps/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
 FILES="UD_PT.cc  UD_PT.hh  UD_PortType.ttcn  UD_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.NS_v7.3.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.NS_v7.3.0/src
 FILES="NS_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.BSSGP_v13.0.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.BSSGP_v13.0.0/src
 FILES="BSSGP_EncDec.cc  BSSGP_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.MobileL3_v13.4.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.MobileL3_v13.4.0/src
 FILES="MobileL3_CC_Types.ttcn MobileL3_CommonIE_Types.ttcn MobileL3_GMM_SM_Types.ttcn MobileL3_MM_Types.ttcn MobileL3_RRM_Types.ttcn MobileL3_SMS_Types.ttcn MobileL3_SS_Types.ttcn MobileL3_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.LLC_v7.1.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.LLC_v7.1.0/src
 FILES="LLC_EncDec.cc LLC_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.SNDCP_v7.0.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.SNDCP_v7.0.0/src
 FILES="SNDCP_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 
-DIR=../library
+DIR=$BASEDIR/library
 FILES="General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_Types.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc L1CTL_Types.ttcn L1CTL_PortType.ttcn L1CTL_PortType_CtrlFunct.ttcn L1CTL_PortType_CtrlFunctDef.cc LAPDm_RAW_PT.ttcn LAPDm_Types.ttcn "
 FILES+="NS_Emulation.ttcn NS_CodecPort.ttcn NS_CodecPort_CtrlFunct.ttcn NS_CodecPort_CtrlFunctDef.cc "
 FILES+="BSSGP_Emulation.ttcn Osmocom_Gb_Types.ttcn "
 FILES+="LLC_Templates.ttcn L3_Templates.ttcn L3_Common.ttcn "
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 ignore_pp_results
diff --git a/pcu/regen_makefile.sh b/pcu/regen_makefile.sh
index 7eefd2c..5653cdd 100755
--- a/pcu/regen_makefile.sh
+++ b/pcu/regen_makefile.sh
@@ -1,5 +1,12 @@
 #!/bin/sh
 
+cd build || exit 1
+
+MAIN=../PCU_Tests.ttcn
+
 FILES="*.ttcn BSSGP_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc NS_CodecPort_CtrlFunctDef.cc UD_PT.cc RLCMAC_EncDec.cc LLC_EncDec.cc L1CTL_PortType_CtrlFunctDef.cc"
 
-../regen-makefile.sh PCU_Tests.ttcn $FILES
+../../regen-makefile.sh $MAIN ../*.ttcn $FILES
+
+# Left here for compatibility with docker-playground:
+ln -s build/PCU_Tests ../PCU_Tests || true
diff --git a/selftest/gen_links.sh b/selftest/gen_links.sh
index 73b812d..19bba9f 100755
--- a/selftest/gen_links.sh
+++ b/selftest/gen_links.sh
@@ -1,45 +1,48 @@
 #!/bin/sh
 
-BASEDIR=../deps
+BASEDIR=$(readlink -f ..)
+DSTDIR=./build
 
-. ../gen_links.sh.inc
+. $BASEDIR/gen_links.sh.inc
 
-#DIR=$BASEDIR/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
+mkdir -p $DSTDIR
+
+#DIR=$BASEDIR/deps/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
 #FILES="UD_PT.cc  UD_PT.hh  UD_PortType.ttcn  UD_Types.ttcn"
-#gen_links $DIR $FILES
+#gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src
+DIR=$BASEDIR/deps/titan.Libraries.TCCUsefulFunctions/src
 FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc TCCInterface.cc TCCInterface_ip.h"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src
+DIR=$BASEDIR/deps/titan.TestPorts.Common_Components.Socket-API/src
 FILES="Socket_API_Definitions.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 # Required by MGCP and IPA
-DIR=$BASEDIR/titan.TestPorts.IPL4asp/src
+DIR=$BASEDIR/deps/titan.TestPorts.IPL4asp/src
 FILES="IPL4asp_Functions.ttcn  IPL4asp_PT.cc  IPL4asp_PT.hh IPL4asp_PortType.ttcn  IPL4asp_Types.ttcn  IPL4asp_discovery.cc IPL4asp_protocol_L234.hh"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 # required by IPA Emulation
-DIR=$BASEDIR/titan.TestPorts.MTP3asp/src
+DIR=$BASEDIR/deps/titan.TestPorts.MTP3asp/src
 FILES="MTP3asp_PortType.ttcn  MTP3asp_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolEmulations.SCCP/src
+DIR=$BASEDIR/deps/titan.ProtocolEmulations.SCCP/src
 FILES="SCCP_Emulation.ttcn  SCCP_Mapping.ttcnpp  SCCP_Types.ttcn  SCCPasp_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.BSSMAP_v11.2.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.BSSMAP_v11.2.0/src
 FILES="BSSAP_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.MobileL3_v13.4.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.MobileL3_v13.4.0/src
 FILES="MobileL3_CC_Types.ttcn MobileL3_CommonIE_Types.ttcn MobileL3_GMM_SM_Types.ttcn MobileL3_MM_Types.ttcn MobileL3_RRM_Types.ttcn MobileL3_SMS_Types.ttcn MobileL3_SS_Types.ttcn MobileL3_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=../library
+DIR=$BASEDIR//library
 FILES="General_Types.ttcn Osmocom_Types.ttcn GSM_Types.ttcn IPA_Types.ttcn IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc IPA_Emulation.ttcnpp L3_Templates.ttcn BSSMAP_Templates.ttcn RLCMAC_CSN1_Types.ttcn GSM_RR_Types.ttcn RSL_Types.ttcn BSSAP_CodecPort.ttcn Osmocom_CTRL_Types.ttcn Osmocom_CTRL_Functions.ttcn GSUP_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 ignore_pp_results
diff --git a/selftest/regen_makefile.sh b/selftest/regen_makefile.sh
index 2503fca..c638932 100755
--- a/selftest/regen_makefile.sh
+++ b/selftest/regen_makefile.sh
@@ -1,9 +1,12 @@
 #!/bin/sh
 
-MAIN=Selftest.ttcn
+cd build || exit 1
 
 FILES="*.ttcn *.ttcnpp IPA_CodecPort_CtrlFunctDef.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc"
 
 export CPPFLAGS_TTCN3="-DIPA_EMULATION_RSL -DUSE_MTP3_DISTRIBUTOR"
 
-../regen-makefile.sh $MAIN $FILES
+../../regen-makefile.sh ../Selftest.ttcn $FILES
+
+# Left here for compatibility with docker-playground:
+ln -s build/Selftest ../Selftest || true
diff --git a/sgsn/gen_links.sh b/sgsn/gen_links.sh
index 1c3fb1d..28fc3d9 100755
--- a/sgsn/gen_links.sh
+++ b/sgsn/gen_links.sh
@@ -1,59 +1,62 @@
 #!/bin/bash
 
-BASEDIR=../deps
+BASEDIR=$(readlink -f ..)
+DSTDIR=./build
 
-. ../gen_links.sh.inc
+. $BASEDIR/gen_links.sh.inc
 
-#DIR=$BASEDIR/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
+mkdir -p $DSTDIR
+
+#DIR=$BASEDIR/deps/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
 #FILES="UD_PT.cc  UD_PT.hh  UD_PortType.ttcn  UD_Types.ttcn"
-#gen_links $DIR $FILES
+#gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src
+DIR=$BASEDIR/deps/titan.Libraries.TCCUsefulFunctions/src
 FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc TCCConversion.hh TCCInterface.cc TCCInterface_ip.h"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src
+DIR=$BASEDIR/deps/titan.TestPorts.Common_Components.Socket-API/src
 FILES="Socket_API_Definitions.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.IPL4asp/src
+DIR=$BASEDIR/deps/titan.TestPorts.IPL4asp/src
 FILES="IPL4asp_Functions.ttcn  IPL4asp_PT.cc  IPL4asp_PT.hh IPL4asp_PortType.ttcn  IPL4asp_Types.ttcn  IPL4asp_discovery.cc IPL4asp_protocol_L234.hh"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-#DIR=$BASEDIR/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
+#DIR=$BASEDIR/deps/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/src
 #FILES="UD_PT.cc  UD_PT.hh  UD_PortType.ttcn  UD_Types.ttcn"
-#gen_links $DIR $FILES
+#gen_links $DIR $DSTDIR $FILES
 
 # for Osmocom_VTY
-DIR=$BASEDIR/titan.TestPorts.TELNETasp/src
+DIR=$BASEDIR/deps/titan.TestPorts.TELNETasp/src
 FILES="TELNETasp_PT.cc  TELNETasp_PT.hh  TELNETasp_PortType.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.NS_v7.3.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.NS_v7.3.0/src
 FILES="NS_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.BSSGP_v13.0.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.BSSGP_v13.0.0/src
 FILES="BSSGP_EncDec.cc  BSSGP_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.LLC_v7.1.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.LLC_v7.1.0/src
 FILES="LLC_EncDec.cc LLC_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.SNDCP_v7.0.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.SNDCP_v7.0.0/src
 FILES="SNDCP_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.MobileL3_v13.4.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.MobileL3_v13.4.0/src
 FILES="MobileL3_CC_Types.ttcn MobileL3_CommonIE_Types.ttcn MobileL3_GMM_SM_Types.ttcn MobileL3_MM_Types.ttcn MobileL3_RRM_Types.ttcn MobileL3_SMS_Types.ttcn MobileL3_SS_Types.ttcn MobileL3_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.ProtocolModules.GTP_v13.5.0/src
+DIR=$BASEDIR/deps/titan.ProtocolModules.GTP_v13.5.0/src
 FILES="GTPC_EncDec.cc  GTPC_Types.ttcn  GTPU_EncDec.cc  GTPU_Types.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=../library
+DIR=$BASEDIR/library
 FILES="General_Types.ttcn GSM_Types.ttcn GSM_RR_Types.ttcn Osmocom_Types.ttcn RLCMAC_Types.ttcn RLCMAC_CSN1_Types.ttcn RLCMAC_EncDec.cc "
 FILES+="NS_Emulation.ttcn NS_CodecPort.ttcn NS_CodecPort_CtrlFunct.ttcn NS_CodecPort_CtrlFunctDef.cc "
 FILES+="BSSGP_Emulation.ttcn Osmocom_Gb_Types.ttcn "
@@ -64,6 +67,6 @@
 FILES+="IPA_Types.ttcn IPA_Emulation.ttcnpp IPA_CodecPort.ttcn IPA_CodecPort_CtrlFunct.ttcn IPA_CodecPort_CtrlFunctDef.cc Native_Functions.ttcn Native_FunctionDefs.cc GSUP_Types.ttcn GSUP_Emulation.ttcn "
 FILES+="GTP_CodecPort.ttcn GTP_CodecPort_CtrlFunct.ttcn GTP_CodecPort_CtrlFunctDef.cc GTP_Emulation.ttcn
 GTP_Templates.ttcn IPCP_Types.ttcn "
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 ignore_pp_results
diff --git a/sgsn/regen_makefile.sh b/sgsn/regen_makefile.sh
index a85f79c..a6ecb42 100755
--- a/sgsn/regen_makefile.sh
+++ b/sgsn/regen_makefile.sh
@@ -1,7 +1,14 @@
 #!/bin/sh
 
+cd build || exit 1
+
+MAIN=../SGSN_Tests.ttcn
+
 FILES="*.ttcn *.ttcnpp BSSGP_EncDec.cc LLC_EncDec.cc IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc NS_CodecPort_CtrlFunctDef.cc RLCMAC_EncDec.cc Native_FunctionDefs.cc TELNETasp_PT.cc IPA_CodecPort_CtrlFunctDef.cc GTPU_EncDec.cc GTPC_EncDec.cc GTP_CodecPort_CtrlFunctDef.cc"
 
 export CPPFLAGS_TTCN3="-DIPA_EMULATION_GSUP"
 
-../regen-makefile.sh SGSN_Tests.ttcn $FILES
+../../regen-makefile.sh $MAIN $FILES
+
+# Left here for compatibility with docker-playground:
+ln -s build/SGSN_Tests ../SGSN_Tests || true
diff --git a/start-testsuite.sh b/start-testsuite.sh
index 8affdba..18ddd71 100755
--- a/start-testsuite.sh
+++ b/start-testsuite.sh
@@ -19,4 +19,4 @@
 	TEST=$3
 fi
 
-LD_LIBRARY_PATH=$(dirname "$SUITE"):/usr/lib/titan:/usr/ttcn3/lib ttcn3_start $SUITE $CFG $TEST
+LD_LIBRARY_PATH=$(dirname "$SUITE")/build:/usr/lib/titan:/usr/ttcn3/lib ttcn3_start $SUITE $CFG $TEST
diff --git a/sysinfo/gen_links.sh b/sysinfo/gen_links.sh
index 314b3b1..f12c876 100755
--- a/sysinfo/gen_links.sh
+++ b/sysinfo/gen_links.sh
@@ -1,27 +1,30 @@
 #!/bin/sh
 
-BASEDIR=../deps
+BASEDIR=$(readlink -f ..)
+DSTDIR=./build
 
-. ../gen_links.sh.inc
+. $BASEDIR/gen_links.sh.inc
 
-DIR=$BASEDIR/titan.Libraries.TCCUsefulFunctions/src
+mkdir -p $DSTDIR
+
+DIR=$BASEDIR/deps/titan.Libraries.TCCUsefulFunctions/src
 FILES="TCCInterface_Functions.ttcn TCCConversion_Functions.ttcn TCCConversion.cc TCCInterface.cc TCCInterface_ip.h"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.Common_Components.Socket-API/src
+DIR=$BASEDIR/deps/titan.TestPorts.Common_Components.Socket-API/src
 FILES="Socket_API_Definitions.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.IPL4asp/src
+DIR=$BASEDIR/deps/titan.TestPorts.IPL4asp/src
 FILES="IPL4asp_Functions.ttcn  IPL4asp_PT.cc  IPL4asp_PT.hh IPL4asp_PortType.ttcn  IPL4asp_Types.ttcn  IPL4asp_discovery.cc IPL4asp_protocol_L234.hh"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=$BASEDIR/titan.TestPorts.TELNETasp/src
+DIR=$BASEDIR/deps/titan.TestPorts.TELNETasp/src
 FILES="TELNETasp_PT.cc  TELNETasp_PT.hh  TELNETasp_PortType.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
-DIR=../library
+DIR=$BASEDIR/library
 FILES="GSMTAP_PortType.ttcn GSMTAP_Types.ttcn GSM_SystemInformation.ttcn GSM_RR_Types.ttcn RLCMAC_CSN1_Types.ttcn GSM_Types.ttcn IPL4_GSMTAP_CtrlFunct.ttcn IPL4_GSMTAP_CtrlFunctDef.cc Osmocom_Types.ttcn General_Types.ttcn Osmocom_VTY_Functions.ttcn"
-gen_links $DIR $FILES
+gen_links $DIR $DSTDIR $FILES
 
 ignore_pp_results
diff --git a/sysinfo/regen_makefile.sh b/sysinfo/regen_makefile.sh
index 9dd3b7f..2a5aeb2 100755
--- a/sysinfo/regen_makefile.sh
+++ b/sysinfo/regen_makefile.sh
@@ -1,5 +1,12 @@
 #!/bin/sh
 
+cd build || exit 1
+
+MAIN=../Test.ttcn
+
 FILES="*.ttcn IPL4asp_PT.cc IPL4asp_discovery.cc TCCConversion.cc TCCInterface.cc IPL4_GSMTAP_CtrlFunctDef.cc TELNETasp_PT.cc"
 
-../regen-makefile.sh Test.ttcn $FILES
+../../regen-makefile.sh $MAIN $FILES
+
+# Left here for compatibility with docker-playground:
+ln -s build/Test ../Test || true

-- 
To view, visit https://gerrit.osmocom.org/7405
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: Id9ca176869ce6b80ccf2b2fff6554b121e1aa85c
Gerrit-PatchSet: 4
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Owner: Pau Espin Pedrol <pespin at sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: Pau Espin Pedrol <pespin at sysmocom.de>



More information about the gerrit-log mailing list