summaryrefslogtreecommitdiffstats
path: root/solaris
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@diac24.net>2018-08-18 04:05:55 +0200
committerDavid Lamparter <equinox@opensourcerouting.org>2018-08-30 08:06:44 +0200
commite3863245308814196e8c236b4cce9c227b2ef460 (patch)
treeee660df98881542688c458b9bde218e1effef705 /solaris
parentbuild: fix some oddities in solaris/ (diff)
downloadfrr-e3863245308814196e8c236b4cce9c227b2ef460.tar.xz
frr-e3863245308814196e8c236b4cce9c227b2ef460.zip
build: non-recursive solaris
Signed-off-by: David Lamparter <equinox@diac24.net>
Diffstat (limited to 'solaris')
-rw-r--r--solaris/.gitignore4
-rw-r--r--solaris/Makefile.in (renamed from solaris/Makefile.am)88
-rw-r--r--solaris/subdir.am53
3 files changed, 115 insertions, 30 deletions
diff --git a/solaris/.gitignore b/solaris/.gitignore
index a2c7946e7..a249b6199 100644
--- a/solaris/.gitignore
+++ b/solaris/.gitignore
@@ -1,5 +1,5 @@
Makefile
-Makefile.in
+!Makefile.in
?.manifest
*.xml
pkginfo.*.full
@@ -19,4 +19,4 @@ frr.init
*.pkg.gz
*~
*.loT
-*.a \ No newline at end of file
+*.a
diff --git a/solaris/Makefile.am b/solaris/Makefile.in
index 165908204..df9122a1d 100644
--- a/solaris/Makefile.am
+++ b/solaris/Makefile.in
@@ -2,13 +2,56 @@
# XXX This file uses GNU make extensions.
-.PHONY: packages
+.PHONY: packages all all-files
+
+all: all-files
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datarootdir = @datarootdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+includedir = @includedir@
+infodir = @infodir@
+mandir = @mandir@
+frr_statedir = @frr_statedir@
+
+builddir = @builddir@
+srcdir = @srcdir@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+
+enable_user = @enable_user@
+enable_group = @enable_group@
+enable_vty_group = @enable_vty_group@
+
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+CONFDATE = @CONFDATE@
+
+host_cpu = @host_cpu@
+host_os = @host_os@
+
+SED = @SED@
+MAKE = @MAKE@
# the names of the various subpackages, and some convenient
# derived variables.
pkg_names = daemons dev doc libs smf
pkg_frr_daemons = zebra bgpd ospfd ospf6d ripd ripngd
-pkg_name_rev = @PACKAGE_VERSION@-@CONFDATE@-@host_os@-@host_cpu@
+pkg_name_rev = $(PACKAGE_VERSION)-$(CONFDATE)-$(host_os)-$(host_cpu)
pkg_depends = $(pkg_names:%=depend.%)
pkg_packages = $(pkg_names:%=@PACKAGE_TARNAME@-%-$(pkg_name_rev).pkg)
pkg_pkginfos = $(pkg_names:%=pkginfo.%.full)
@@ -36,28 +79,28 @@ edit = $(SED) \
-e 's,@enable_group\@,$(enable_group),g' \
-e 's,@enable_vty_group\@,$(enable_vty_group),g' \
-e 's,@frr_statedir\@,$(frr_statedir),g' \
- -e 's,[@]PACKAGE_NAME[@],@PACKAGE_NAME@,g' \
- -e 's,[@]PACKAGE_TARNAME[@],@PACKAGE_TARNAME@,g' \
- -e 's,[@]PACKAGE_VERSION[@],@PACKAGE_VERSION@,g' \
- -e 's,[@]PACKAGE_BUGREPORT[@],@PACKAGE_BUGREPORT@,g' \
- -e 's,[@]CONFDATE[@],@CONFDATE@,g' \
+ -e 's,[@]PACKAGE_NAME[@],$(PACKAGE_NAME),g' \
+ -e 's,[@]PACKAGE_TARNAME[@],$(PACKAGE_TARNAME),g' \
+ -e 's,[@]PACKAGE_VERSION[@],$(PACKAGE_VERSION),g' \
+ -e 's,[@]PACKAGE_BUGREPORT[@],$(PACKAGE_BUGREPORT),g' \
+ -e 's,[@]CONFDATE[@],$(CONFDATE),g' \
-e 's,[@]host_cpu[@],$(host_cpu),g' \
-e 's,[@]host_os[@],$(host_os),g'
# common options for pkgmk
-pkg_make_vars = exec_prefix=@exec_prefix@ prefix=@prefix@ \
- builddir=@builddir@ srcdir=@srcdir@ \
- top_builddir=@top_builddir@ top_srcdir=@top_srcdir@ \
- abs_builddir=@abs_builddir@ abs_srcdir=@abs_srcdir@ \
- abs_top_builddir=@abs_top_builddir@ abs_top_srcdir=@abs_top_srcdir@
+pkg_make_vars = exec_prefix=$(exec_prefix) prefix=$(prefix) \
+ builddir=$(builddir) srcdir=$(srcdir) \
+ top_builddir=$(top_builddir) top_srcdir=$(top_srcdir) \
+ abs_builddir=$(abs_builddir) abs_srcdir=$(abs_srcdir) \
+ abs_top_builddir=$(abs_top_builddir) abs_top_srcdir=$(abs_top_srcdir)
# pkgmk: write the package to spool in build dir, to avoid root dependencies
-pkg_make = pkgmk -o -d @abs_builddir@ \
+pkg_make = pkgmk -o -d $(abs_builddir) \
-f $< DESTDIR="$(DESTDIR)/" $(pkg_make_vars)
# pkgtrans: write a pkg file stream, shame we cant pipe directly to it from
# pkgmk..
-pkg_trans = pkgtrans -s @abs_builddir@ "@abs_builddir@/$@"
+pkg_trans = pkgtrans -s $(abs_builddir) "$(abs_builddir)/$@"
# pkgmk can only cope with a single pkginfo, cant 'stack' various
# pkginfo template files and a package specific pkginfo file in the prototype
@@ -94,7 +137,7 @@ frr.init: $(srcdir)/frr.init.in Makefile
$(edit) $< > $@
# construct the pkg
-@PACKAGE_TARNAME@-%-$(pkg_name_rev).pkg: prototype.% \
+$(PACKAGE_TARNAME)-%-$(pkg_name_rev).pkg: prototype.% \
depend.% frr.init pkginfo.%.full
($(pkg_make) && \
$(pkg_trans) "FRR$*")
@@ -102,22 +145,11 @@ frr.init: $(srcdir)/frr.init.in Makefile
%.pkg.gz : %.pkg
(gzip -c $< > $@)
-# pkginfo.package and prototype.package are all built sources
-#BUILT_SOURCES = pkginfo.daemons pkginfo.dev pkginfo.doc pkginfo.libs \
-# prototype.daemons prototype.dev prototype.doc prototype.libs
-BUILT_SOURCES = $(pkg_pkginfos) pkginfo.tmpl $(pkg_prototypes) \
- $(pkg_manifests) $(pkg_depends) frr.init
-
-CLEANFILES = $(BUILT_SOURCES) $(pkg_packages)
-
-EXTRA_DIST = $(pkg_manifests:%=%.in) $(pkg_prototypes:%=%.in) \
- $(pkg_names:%=pkginfo.%.tmpl.in) $(srcdir)/pkginfo.tmpl.in \
- $(pkg_depends:%=%.in) frr.init.in README.txt
-
pkg-root-install:
(cd $(top_builddir) && \
$(MAKE) DESTDIR=$(abs_builddir)/frr-root install)
packages: $(pkg_packages)
-#nodist_pkgdata_DATA = $(pkg_packages)
+all-files: $(pkg_pkginfos) pkginfo.tmpl $(pkg_prototypes) \
+ $(pkg_manifests) $(pkg_depends) frr.init
diff --git a/solaris/subdir.am b/solaris/subdir.am
new file mode 100644
index 000000000..1d19d56a4
--- /dev/null
+++ b/solaris/subdir.am
@@ -0,0 +1,53 @@
+#
+# solaris
+#
+
+.PHONY: solaris/all
+if SOLARIS
+all: solaris/all
+solaris/all:
+ @make -s -C solaris all
+endif
+
+CLEANFILES += \
+ solaris/frr.xml \
+ solaris/frr.init \
+ solaris/pkginfo.tmpl \
+ solaris/prototype.daemons \
+ solaris/prototype.dev \
+ solaris/prototype.doc \
+ solaris/prototype.libs \
+ solaris/prototype.smf \
+ solaris/pkginfo.daemons.tmpl \
+ solaris/pkginfo.dev.tmpl \
+ solaris/pkginfo.doc.tmpl \
+ solaris/pkginfo.libs.tmpl \
+ solaris/pkginfo.smf.tmpl \
+ solaris/depend.daemons \
+ solaris/depend.dev \
+ solaris/depend.doc \
+ solaris/depend.libs \
+ solaris/depend.smf \
+ # end
+
+EXTRA_DIST += \
+ solaris/frr.xml.in \
+ solaris/frr.init.in \
+ solaris/pkginfo.tmpl.in \
+ solaris/prototype.daemons.in \
+ solaris/prototype.dev.in \
+ solaris/prototype.doc.in \
+ solaris/prototype.libs.in \
+ solaris/prototype.smf.in \
+ solaris/pkginfo.daemons.tmpl.in \
+ solaris/pkginfo.dev.tmpl.in \
+ solaris/pkginfo.doc.tmpl.in \
+ solaris/pkginfo.libs.tmpl.in \
+ solaris/pkginfo.smf.tmpl.in \
+ solaris/depend.daemons.in \
+ solaris/depend.dev.in \
+ solaris/depend.doc.in \
+ solaris/depend.libs.in \
+ solaris/depend.smf.in \
+ solaris/README.txt \
+ # end