Don't print find errors if not all dirs were cloned. Found this also
while running osmo-dev on a fresh install.
Change-Id: I7955fedc96484e5703073b63906a03477452db6e
Add a new option that avoids stopping the build with:
configure: error: source directory already configured; run "make distclean" there first
I run into this frequently, when e.g. running './configure; make release'
inside Osmocom repositories and then attempting to build them with
osmo-dev. It is annoying as it does not fail immediatelly, and I need to
manually go to the source directories where it failed, run 'make
distclean' and then attempt to build again. Then it may fail on another
directory with the same problem.
Check for config.status, as that is also what ./configure checks for
before printing the error.
Change-Id: Iac71333e8c5da8dee4e8f34e2af8db12d2c08021
Do not consider config.h inside the source tree as modified source file.
This file gets generated when running ./configure to build in-tree,
whereas osmo-dev always builds out-of-tree.
Having config.h inside proj_files causes problems with the next patch,
where conflicting in-tree builds will be automatically be cleaned with
"make distclean". For example:
* "make libosmocore" runs with a previously configured in-tree build
* proj_files contains config.h.
* Before attempting to build libosmocore out-of-tree, with the next
patch, "make distclean" gets executed.
* config.h is now removed
* .make.libosmocore.build target expects all proj_files to exist and
fails with:
make: *** No rule to make target '../src/libosmocore/config.h', needed by '.make.libosmocore.build'. Stop.
Change-Id: I10d970f2cadacb5071dcde975c76b15404038a3c
Rename 3G+2G.deps to all.deps and remove the parameter from
gen_makefile.py. Create new Makefile targets for the various use cases,
usually we build either 'cn-bsc' or 'usrp'. The next patch will add more
projects to all.deps.
This change brings the Makefile logic closer to how it is actually used,
one build directory that is building most Osmocom projects. New projects
can be added to all.deps on demand, but then we have it in the
repository and not just a local change that we add temporarily to the
3G+2G.deps file when we need to build a specific project.
Extend all.deps with projects needed by ttcn3.sh, so it doesn't need to
write its custom .deps file anymore.
Change-Id: I6394882f67eecda3d2c03a97d3119657f7d3873f
To be used by ttcn3.sh to run the actual build inside docker. ttcn3.sh
runs the programs built by osmo-dev inside docker with the exact
configs that we use on jenkins.osmocom.org, but so far it builds the
component outside of docker. But building inside docker is necessary to
avoid incompatibilities between the host system and the docker
containers (e.g. different glibc).
Change-Id: Ibd20f0e0e2a5105085066a9f04b5868c68691024
I guess it's enabled by default in some distributions like Debian,
but at least for Arch Linux it needs to be enabled using '-e'.
Change-Id: Ie9c0657c9decb83bf8531ce1a0e97c27ee7008bb
Lately I'm seeing unecessary rebuilds because config.h.in is newer than the
./configure file. The rule to trigger on *.in files is intended for "manual"
.in files, not those from autoconf/automake. Exclude config.h.in.
The configure step naturally depends on Makefile.am and *.in files. However,
the automake process also generates Makefile.in files: exclude those from *.in.
This fixes spurious unnecessary rebuilds: especially when libosmocore had
modifications, it often rebuilt *twice* after this (causing all of the other
source trees to rebuild as well).
Change-Id: Ia6f48ac9a8b300440d23c9b495fb39b5e40b59d8
Add options to decide whether ldconfig should be called or not, whether with
sudo or not, and also whether to call 'make install' with sudo or not.
Change-Id: I0771c78159edfa312aa320f18d9f6346c3b8adba
Put the list of files to monitor directly in the makefile dependencies instead.
Now it finally works for 'make -j'.
Change-Id: Ie9b8c52bffcced4c8e482b43f6f9b5fdd93f61aa