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/.
osmith gerrit-no-reply at lists.osmocom.orgosmith has submitted this change and it was merged. ( https://gerrit.osmocom.org/11725 ) Change subject: use autotools to add "make install" target ...................................................................... use autotools to add "make install" target For reasoning why a transition to autotools is desired, see the commit message of the previous patch in this series. "make install" copies the "build", "common" dirs, as well as the "*.xsl" files to $(prefix)/share/osmo-gsm-manuals. Prefix is typically /usr/local. Also a pkg-config file gets installed, so the path of the shared files can be looked up by autoconf scripts of the project repositories. The check-depends script is installed to $(prefix)/bin/osmo-gsm-manuals-check-depends and will be used by project specific autoconf scripts, too. All existing make targets ("make", "make check", "make upload") are still working, users only need to run "autoreconf -fi" and "./configure" beforehand. Makefile.am uses custom install-data-hook and uninstall-local targets, so we don't need to specify each file of the relevant subdirs in a _DATA variable (no extra maintenance effort). (moving manuals to project repositories 5/19) Related: OS#3385 Change-Id: I8e7036fae062ee783cb132b14608827a82c5e7c7 --- M .gitignore M INSTALL.txt D Makefile A Makefile.am R OsmoBSC/Makefile.am R OsmoBTS/Makefile.am R OsmoGGSN/Makefile.am R OsmoGSMTester/Makefile.am R OsmoHLR/Makefile.am R OsmoMGCP/Makefile.am R OsmoMGW/Makefile.am R OsmoMSC/Makefile.am R OsmoNAT/Makefile.am R OsmoNITB/Makefile.am R OsmoPCU/Makefile.am R OsmoSGSN/Makefile.am R OsmoSIPConnector/Makefile.am R OsmoSTP/Makefile.am R OsmoTRX/Makefile.am R OsmocomBB/Makefile.am M build/Makefile.common.inc A configure.ac M contrib/jenkins.sh A osmo-gsm-manuals.pc.in R tests/Makefile.am 25 files changed, 131 insertions(+), 79 deletions(-) Approvals: Jenkins Builder: Verified Neels Hofmeyr: Looks good to me, approved diff --git a/.gitignore b/.gitignore index fbe2111..30bc93e 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,23 @@ # 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 @@ (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 @@ 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 at 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 @@ 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 -- To view, visit https://gerrit.osmocom.org/11725 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-manuals Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I8e7036fae062ee783cb132b14608827a82c5e7c7 Gerrit-Change-Number: 11725 Gerrit-PatchSet: 7 Gerrit-Owner: osmith <osmith at sysmocom.de> Gerrit-Reviewer: Jenkins Builder (1000002) Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de> Gerrit-Reviewer: Pau Espin Pedrol <pespin at sysmocom.de> Gerrit-Reviewer: osmith <osmith at sysmocom.de> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20181121/89c8642a/attachment.htm>