diff --git a/.gitignore b/.gitignore index fbe2111..30bc93e 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,23 @@ tests/test-usermanual.adoc # git-version-gen .tarball-version .version + +# autotools +aclocal.m4 +autom4te.cache/ +config.log +config.status +config.guess +config.sub +configure +compile +depcomp +install-sh +missing +stamp-h1 +libtool +ltmain.sh +m4/*.m4 +*.pc +Makefile.in +Makefile diff --git a/INSTALL.txt b/INSTALL.txt index 9c3ee7b..6efe8d1 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -15,8 +15,11 @@ apt-get install \ (Note that asciidoc-dblatex is required from debian 9 on and did not exist before.) Build PDFs, run: + autoreconf -fi + ./configure make -or for a parallel build using more CPU cores: + +or for a parallel build using more CPU cores, replace make with: make -j 5 To update the VTY reference for a given program, use 'osmo_interact_vty.py -X', diff --git a/Makefile b/Makefile deleted file mode 100644 index c94f0a8..0000000 --- a/Makefile +++ /dev/null @@ -1,78 +0,0 @@ -all: check-deps - cd OsmoBTS; $(MAKE) - cd OsmoNITB; $(MAKE) - cd OsmoBSC; $(MAKE) - cd OsmoMGCP; $(MAKE) - cd OsmoSGSN; $(MAKE) - cd OsmoGGSN; $(MAKE) - cd OsmoNAT; $(MAKE) - cd OsmoPCU; $(MAKE) - cd OsmoGSMTester; $(MAKE) - cd OsmoMSC; $(MAKE) - cd OsmoHLR; $(MAKE) - cd OsmoSIPConnector; $(MAKE) - cd OsmoSTP; $(MAKE) - cd OsmocomBB; $(MAKE) - cd OsmoMGW; $(MAKE) - cd OsmoTRX; $(MAKE) - -clean: - cd tests; $(MAKE) clean - cd OsmoBTS; $(MAKE) clean - cd OsmoNITB; $(MAKE) clean - cd OsmoBSC; $(MAKE) clean - cd OsmoMGCP; $(MAKE) clean - cd OsmoSGSN; $(MAKE) clean - cd OsmoGGSN; $(MAKE) clean - cd OsmoNAT; $(MAKE) clean - cd OsmoPCU; $(MAKE) clean - cd OsmoGSMTester; $(MAKE) clean - cd OsmoMSC; $(MAKE) clean - cd OsmoHLR; $(MAKE) clean - cd OsmoSIPConnector; $(MAKE) clean - cd OsmoSTP; $(MAKE) clean - cd OsmocomBB; $(MAKE) clean - cd OsmoMGW; $(MAKE) clean - cd OsmoTRX; $(MAKE) clean - -upload: - cd OsmoBTS; $(MAKE) upload - cd OsmoNITB; $(MAKE) upload - cd OsmoBSC; $(MAKE) upload - cd OsmoMGCP; $(MAKE) upload - cd OsmoSGSN; $(MAKE) upload - cd OsmoGGSN; $(MAKE) upload - cd OsmoNAT; $(MAKE) upload - cd OsmoPCU; $(MAKE) upload - cd OsmoGSMTester; $(MAKE) upload - cd OsmoMSC; $(MAKE) upload - cd OsmoHLR; $(MAKE) upload - cd OsmoSIPConnector; $(MAKE) upload - cd OsmoSTP; $(MAKE) upload - cd OsmocomBB; $(MAKE) upload - cd OsmoMGW; $(MAKE) upload - cd OsmoTRX; $(MAKE) upload - -check: - cd tests; $(MAKE) - cd OsmoBTS; $(MAKE) check - cd OsmoNITB; $(MAKE) check - cd OsmoBSC; $(MAKE) check - cd OsmoSGSN; $(MAKE) check - cd OsmoGGSN; $(MAKE) check - cd OsmoPCU; $(MAKE) check - cd OsmoSTP; $(MAKE) check - # These don't use asciidoc, so they have no 'make check' target: - #cd OsmoMGCP; $(MAKE) check - #cd OsmoNAT; $(MAKE) check - #cd OsmoMGW; $(MAKE) check - cd OsmoGSMTester; $(MAKE) check - cd OsmoMSC; $(MAKE) check - cd OsmoHLR; $(MAKE) check - cd OsmoSIPConnector; $(MAKE) check - cd OsmoSTP; $(MAKE) check - cd OsmocomBB; $(MAKE) check - cd OsmoTRX; $(MAKE) check - -check-deps: - ./check-depends.sh diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..dc8f1ca --- /dev/null +++ b/Makefile.am @@ -0,0 +1,51 @@ +share_files = $(srcdir)/build $(srcdir)/common $(srcdir)/*.xsl +share_path = "$(DESTDIR)$(prefix)/share/osmo-gsm-manuals" + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = osmo-gsm-manuals.pc +BUILT_SOURCES = $(top_srcdir)/.version +EXTRA_DIST = git-version-gen .version check-depends.sh $(share_files) +SUBDIRS = tests \ + OsmoBSC \ + OsmoBTS \ + OsmoGGSN \ + OsmoGSMTester \ + OsmoHLR \ + OsmoMGCP \ + OsmoMGW \ + OsmoMSC \ + OsmoNAT \ + OsmoNITB \ + OsmoPCU \ + OsmoSGSN \ + OsmoSIPConnector \ + OsmoSTP \ + OsmoTRX \ + OsmocomBB + +$(top_srcdir)/.version: + echo $(VERSION) > $@-t && mv $@-t $@ + +dist-hook: + echo $(VERSION) > $(distdir)/.tarball-version + +install-data-hook: + cd "$(srcdir)" && \ + files="$$(find $(notdir $(share_files)) -not -type d)" && \ + for i in $$files; do \ + if [ -x "$$i" ]; then \ + mode=755; \ + else \ + mode=644; \ + fi; \ + install -vDm$$mode "$$i" "$(share_path)/$$i" || exit 1; \ + done; + install -Dm755 "$(srcdir)/check-depends.sh" "$(DESTDIR)$(prefix)/bin/osmo-gsm-manuals-check-depends" + +uninstall-local: + rm -rv "$(share_path)" "$(DESTDIR)$(prefix)/bin/osmo-gsm-manuals-check-depends" + +upload: + for i in Osmo*; do \ + $(MAKE) -C "$$i" upload || exit 1; \ + done diff --git a/OsmoBSC/Makefile b/OsmoBSC/Makefile.am similarity index 100% rename from OsmoBSC/Makefile rename to OsmoBSC/Makefile.am diff --git a/OsmoBTS/Makefile b/OsmoBTS/Makefile.am similarity index 100% rename from OsmoBTS/Makefile rename to OsmoBTS/Makefile.am diff --git a/OsmoGGSN/Makefile b/OsmoGGSN/Makefile.am similarity index 100% rename from OsmoGGSN/Makefile rename to OsmoGGSN/Makefile.am diff --git a/OsmoGSMTester/Makefile b/OsmoGSMTester/Makefile.am similarity index 100% rename from OsmoGSMTester/Makefile rename to OsmoGSMTester/Makefile.am diff --git a/OsmoHLR/Makefile b/OsmoHLR/Makefile.am similarity index 100% rename from OsmoHLR/Makefile rename to OsmoHLR/Makefile.am diff --git a/OsmoMGCP/Makefile b/OsmoMGCP/Makefile.am similarity index 100% rename from OsmoMGCP/Makefile rename to OsmoMGCP/Makefile.am diff --git a/OsmoMGW/Makefile b/OsmoMGW/Makefile.am similarity index 100% rename from OsmoMGW/Makefile rename to OsmoMGW/Makefile.am diff --git a/OsmoMSC/Makefile b/OsmoMSC/Makefile.am similarity index 100% rename from OsmoMSC/Makefile rename to OsmoMSC/Makefile.am diff --git a/OsmoNAT/Makefile b/OsmoNAT/Makefile.am similarity index 100% rename from OsmoNAT/Makefile rename to OsmoNAT/Makefile.am diff --git a/OsmoNITB/Makefile b/OsmoNITB/Makefile.am similarity index 100% rename from OsmoNITB/Makefile rename to OsmoNITB/Makefile.am diff --git a/OsmoPCU/Makefile b/OsmoPCU/Makefile.am similarity index 100% rename from OsmoPCU/Makefile rename to OsmoPCU/Makefile.am diff --git a/OsmoSGSN/Makefile b/OsmoSGSN/Makefile.am similarity index 100% rename from OsmoSGSN/Makefile rename to OsmoSGSN/Makefile.am diff --git a/OsmoSIPConnector/Makefile b/OsmoSIPConnector/Makefile.am similarity index 100% rename from OsmoSIPConnector/Makefile rename to OsmoSIPConnector/Makefile.am diff --git a/OsmoSTP/Makefile b/OsmoSTP/Makefile.am similarity index 100% rename from OsmoSTP/Makefile rename to OsmoSTP/Makefile.am diff --git a/OsmoTRX/Makefile b/OsmoTRX/Makefile.am similarity index 100% rename from OsmoTRX/Makefile rename to OsmoTRX/Makefile.am diff --git a/OsmocomBB/Makefile b/OsmocomBB/Makefile.am similarity index 100% rename from OsmocomBB/Makefile rename to OsmocomBB/Makefile.am diff --git a/build/Makefile.common.inc b/build/Makefile.common.inc index e624b5f..6a210bc 100644 --- a/build/Makefile.common.inc +++ b/build/Makefile.common.inc @@ -12,3 +12,5 @@ upload: $(UPLOAD_FILES) clean: -rm -rf $(CLEAN_FILES) + +distclean: clean diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..e890b3e --- /dev/null +++ b/configure.ac @@ -0,0 +1,46 @@ +dnl Process this file with autoconf to produce a configure script +AC_INIT([osmo-gsm-manuals], + m4_esyscmd([./git-version-gen .tarball-version]), + [openbsc@lists.osmocom.org]) + +dnl *This* is the root dir, even if an install-sh exists in ../ or ../../ +AC_CONFIG_AUX_DIR([.]) + +AM_INIT_AUTOMAKE([foreign dist-bzip2 1.6 subdir-objects]) + +dnl checks for programs +AC_PROG_INSTALL +LT_INIT + +dnl check for pkg-config (explained in detail in libosmocore/configure.ac) +AC_PATH_PROG(PKG_CONFIG_INSTALLED, pkg-config, no) +if test "x$PKG_CONFIG_INSTALLED" = "xno"; then + AC_MSG_WARN([You need to install pkg-config]) +fi +PKG_PROG_PKG_CONFIG([0.20]) + +if ! $srcdir/check-depends.sh +then + AC_MSG_ERROR("missing dependencies!") +fi + +AC_OUTPUT( + osmo-gsm-manuals.pc + Makefile + tests/Makefile + OsmoBSC/Makefile + OsmoBTS/Makefile + OsmoGGSN/Makefile + OsmoGSMTester/Makefile + OsmoHLR/Makefile + OsmoMGCP/Makefile + OsmoMGW/Makefile + OsmoMSC/Makefile + OsmoNAT/Makefile + OsmoNITB/Makefile + OsmoPCU/Makefile + OsmoSGSN/Makefile + OsmoSIPConnector/Makefile + OsmoSTP/Makefile + OsmoTRX/Makefile + OsmocomBB/Makefile) diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 80d873d..1fd19d1 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -6,6 +6,8 @@ publish="$1" osmo-clean-workspace.sh +autoreconf -fi +./configure $MAKE $PARALLEL_MAKE $MAKE $PARALLEL_MAKE check diff --git a/osmo-gsm-manuals.pc.in b/osmo-gsm-manuals.pc.in new file mode 100644 index 0000000..f9b318e --- /dev/null +++ b/osmo-gsm-manuals.pc.in @@ -0,0 +1,6 @@ +prefix=@prefix@ +osmogsmmanualsdir=@prefix@/share/osmo-gsm-manuals + +Name: Osmocom GSM Manuals Development Files +Description: Common files for building manuals of Osmocom programs +Version: @VERSION@ diff --git a/tests/Makefile b/tests/Makefile.am similarity index 100% rename from tests/Makefile rename to tests/Makefile.am