gen_links.sh: auto-generate .gitignore files to ignore symlinks
In each subdir that is a target for symlinks, automatically ignore the results
of gen_links():
- At the top of gen_links.sh.inc, clear the .gitignore.
- In the loop, add each link name to the local .gitignore.
- In selected gen_links.sh, there is also a "manual" link creationg. So that
this also ends up in the local .gitignore, have the link creation as separate
gen_link() macro which at the same time adds to ./.gitignore.
- in the root .gitignore, ignore all the subdirs' generated */.gitignore files.
Change-Id: I73c11fe8362358bf7e1bdf0e1be53399b5d3351b
diff --git a/.gitignore b/.gitignore
index d8c3ab3..cc06c3c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@
*.log
*.so
compile
+*/.gitignore
diff --git a/bsc-nat/gen_links.sh b/bsc-nat/gen_links.sh
index 8aa47a9..946fbaf 100755
--- a/bsc-nat/gen_links.sh
+++ b/bsc-nat/gen_links.sh
@@ -28,7 +28,7 @@
DIR=../SCCP_CNL113341/src
FILES="SCCP_Emulation.ttcn SCCP_EncDec.cc SCCP_Mapping.ttcnpp SCCP_Types.ttcn SCCPasp_Types.ttcn"
gen_links $DIR $FILES
-ln -sf SCCP_Mapping.ttcnpp SCCP_Mapping.ttcn
+gen_link SCCP_Mapping.ttcnpp SCCP_Mapping.ttcn
DIR=$BASEDIR/titan.ProtocolModules.BSSMAP_v11.2.0/src
FILES="BSSAP_Types.ttcn"
diff --git a/bsc/gen_links.sh b/bsc/gen_links.sh
index 9145ff7..50d7329 100755
--- a/bsc/gen_links.sh
+++ b/bsc/gen_links.sh
@@ -49,7 +49,7 @@
DIR=../SCCP_CNL113341/src
FILES="SCCP_Emulation.ttcn SCCP_Mapping.ttcnpp SCCP_Types.ttcn SCCPasp_Types.ttcn"
gen_links $DIR $FILES
-ln -sf SCCP_Mapping.ttcnpp SCCP_Mapping.ttcn
+gen_link SCCP_Mapping.ttcnpp SCCP_Mapping.ttcn
DIR=$BASEDIR/titan.ProtocolModules.BSSMAP_v11.2.0/src
FILES="BSSAP_Types.ttcn"
diff --git a/gen_links.sh.inc b/gen_links.sh.inc
index 2fcb9d1..aba8ca1 100644
--- a/gen_links.sh.inc
+++ b/gen_links.sh.inc
@@ -1,12 +1,21 @@
#!dont_run_this
# This file is sourced by */gen_links.sh
+rm -f .gitignore
+
+gen_link() {
+ src="$1"
+ f="$2"
+ echo "Linking $f"
+ ln -sf "$src" "$f"
+ echo "$f" >> .gitignore
+}
+
gen_links() {
DIR=$1
shift
FILES=$*
for f in $FILES; do
- echo "Linking $f"
- ln -sf $DIR/$f $f
+ gen_link "$DIR/$f" "$f"
done
}
diff --git a/msc/gen_links.sh b/msc/gen_links.sh
index b9cbd0a..fe09155 100755
--- a/msc/gen_links.sh
+++ b/msc/gen_links.sh
@@ -44,7 +44,7 @@
DIR=../SCCP_CNL113341/src
FILES="SCCP_Emulation.ttcn SCCP_EncDec.cc SCCP_Mapping.ttcnpp SCCP_Types.ttcn SCCPasp_Types.ttcn"
gen_links $DIR $FILES
-ln -s SCCP_Mapping.ttcnpp SCCP_Mapping.ttcn
+gen_link SCCP_Mapping.ttcnpp SCCP_Mapping.ttcn
DIR=$BASEDIR/titan.ProtocolModules.BSSMAP_v11.2.0/src
FILES="BSSAP_Types.ttcn"
diff --git a/selftest/gen_links.sh b/selftest/gen_links.sh
index 542e3c2..2a98aaf 100755
--- a/selftest/gen_links.sh
+++ b/selftest/gen_links.sh
@@ -29,7 +29,7 @@
DIR=../SCCP_CNL113341/src
FILES="SCCP_Emulation.ttcn SCCP_Mapping.ttcnpp SCCP_Types.ttcn SCCPasp_Types.ttcn"
gen_links $DIR $FILES
-ln -sf SCCP_Mapping.ttcnpp SCCP_Mapping.ttcn
+gen_link SCCP_Mapping.ttcnpp SCCP_Mapping.ttcn
DIR=$BASEDIR/titan.ProtocolModules.BSSMAP_v11.2.0/src
FILES="BSSAP_Types.ttcn"