File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / quagga / solaris / Makefile.am
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 17:26:11 2012 UTC (12 years, 8 months ago) by misho
Branches: quagga, MAIN
CVS tags: v1_0_20160315, v0_99_22p0, v0_99_22, v0_99_21, v0_99_20_1, v0_99_20, HEAD
quagga

    1: # Solaris packages automake file
    2: 
    3: # XXX This file uses GNU make extensions.
    4: 
    5: .PHONY: packages
    6: 
    7: # the names of the various subpackages, and some convenient 
    8: # derived variables.
    9: pkg_names = daemons dev doc libs smf
   10: pkg_quagga_daemons = zebra bgpd ospfd ospf6d ripd ripngd
   11: pkg_name_rev = @PACKAGE_VERSION@-@CONFDATE@-@target_os@-@target_cpu@
   12: pkg_depends = $(pkg_names:%=depend.%)
   13: pkg_packages = $(pkg_names:%=@PACKAGE_TARNAME@-%-$(pkg_name_rev).pkg)
   14: pkg_pkginfos = $(pkg_names:%=pkginfo.%.full)
   15: pkg_prototypes = $(pkg_names:%=prototype.%)
   16: pkg_manifests = quagga.xml
   17: 
   18: # pkgmk variable substitutions wont grok ${variable} in prototype
   19: # file, so we cant let autoconf generate the file sadly
   20: # wish automake would just provide a template for this
   21: edit = $(SED) \
   22: 	-e 's,@prefix\@,$(prefix),g' \
   23: 	-e 's,@exec_prefix,$(exec_prefix),g' \
   24: 	-e 's,@bindir\@,$(bindir),g' \
   25: 	-e 's,@sbindir\@,$(sbindir),g' \
   26: 	-e 's,@libexecdir\@,$(libexecdir),g' \
   27: 	-e 's,@datadir\@,$(datadir),g' \
   28: 	-e 's,@sysconfdir\@,$(sysconfdir),g' \
   29: 	-e 's,@sharedstatedir\@,$(sharedstatedir),g' \
   30: 	-e 's,@localstatedir\@,$(localstatedir),g' \
   31: 	-e 's,@libdir\@,$(libdir),g' \
   32: 	-e 's,@includedir\@,$(includedir),g' \
   33: 	-e 's,@infodir\@,$(infodir),g' \
   34: 	-e 's,@mandir\@,$(mandir),g' \
   35: 	-e 's,@enable_user\@,$(enable_user),g' \
   36: 	-e 's,@enable_group\@,$(enable_group),g' \
   37: 	-e 's,@enable_vty_group\@,$(enable_vty_group),g' \
   38: 	-e 's,@quagga_statedir\@,$(quagga_statedir),g' \
   39: 	-e 's,[@]PACKAGE_NAME[@],@PACKAGE_NAME@,g' \
   40:  	-e 's,[@]PACKAGE_TARNAME[@],@PACKAGE_TARNAME@,g' \
   41:  	-e 's,[@]PACKAGE_VERSION[@],@PACKAGE_VERSION@,g' \
   42:  	-e 's,[@]PACKAGE_BUGREPORT[@],@PACKAGE_BUGREPORT@,g' \
   43:   	-e 's,[@]CONFDATE[@],@CONFDATE@,g' \
   44:  	-e 's,[@]target_cpu[@],$(target_cpu),g' \
   45:  	-e 's,[@]target_host[@],$(target_host),g' \
   46:  	-e 's,[@]target_os[@],$(target_os),g'
   47: 
   48: # common options for pkgmk
   49: pkg_make_vars = exec_prefix=@exec_prefix@ prefix=@prefix@ \
   50: 	builddir=@builddir@ srcdir=@srcdir@ \
   51: 	top_builddir=@top_builddir@ top_srcdir=@top_srcdir@ \
   52: 	abs_builddir=@abs_builddir@ abs_srcdir=@abs_srcdir@ \
   53: 	abs_top_builddir=@abs_top_builddir@ abs_top_srcdir=@abs_top_srcdir@
   54: 
   55: # pkgmk: write the package to spool in build dir, to avoid root dependencies
   56: pkg_make = pkgmk -o -d @abs_builddir@ \
   57: 	-f $< DESTDIR="$(DESTDIR)/" $(pkg_make_vars)
   58: 
   59: # pkgtrans: write a pkg file stream, shame we cant pipe directly to it from
   60: # pkgmk..
   61: pkg_trans = pkgtrans -s @abs_builddir@ "@abs_builddir@/$@"
   62: 
   63: # pkgmk can only cope with a single pkginfo, cant 'stack' various 
   64: # pkginfo template files and a package specific pkginfo file in the prototype
   65: # Create the package specific template here, and create the full pkginfo
   66: # by cating this and the common pkginfo.tmpl together.
   67: pkginfo.tmpl: $(srcdir)/pkginfo.tmpl.in Makefile
   68: 	rm -f $@
   69: 	$(edit) $< > $@
   70: 
   71: pkginfo.%.tmpl: $(srcdir)/pkginfo.%.tmpl.in Makefile
   72: 	rm -f $@
   73: 	$(edit) $< > $@
   74: 
   75: pkginfo.%.full: pkginfo.%.tmpl pkginfo.tmpl Makefile
   76: 	cat pkginfo.tmpl pkginfo.$*.tmpl > $@
   77: 
   78: # use 'edit' above to transform prototype.in to pkgmk acceptable prototype
   79: prototype.%: $(srcdir)/prototype.%.in Makefile
   80: 	rm -f $@
   81: 	$(edit) $< > $@
   82: 
   83: # use edit to construct the SMF manifest files
   84: %.xml: $(srcdir)/%.xml.in Makefile
   85: 	rm -f $@
   86: 	$(edit) $< > $@
   87: # use edit to construct the depend files
   88: depend.%: $(srcdir)/depend.%.in Makefile
   89: 	rm -f $@
   90: 	$(edit) $< > $@
   91: 
   92: # method file (bit like init script)
   93: quagga.init: $(srcdir)/quagga.init.in Makefile
   94: 	rm -f $@
   95: 	$(edit) $< > $@
   96: 
   97: # construct the pkg
   98: @PACKAGE_TARNAME@-%-$(pkg_name_rev).pkg: prototype.% \
   99: 		depend.% quagga.init pkginfo.%.full
  100: 	($(pkg_make) && \
  101: 	$(pkg_trans) "QUAGGA$*")
  102: 
  103: %.pkg.gz : %.pkg
  104: 	(gzip -c $< > $@)
  105: 
  106: # pkginfo.package and prototype.package are all built sources
  107: #BUILT_SOURCES = pkginfo.daemons pkginfo.dev pkginfo.doc pkginfo.libs \
  108: #	prototype.daemons prototype.dev prototype.doc prototype.libs
  109: BUILT_SOURCES = $(pkg_pkginfos) pkginfo.tmpl $(pkg_prototypes) \
  110: 	$(pkg_manifests) $(pkg_depends) quagga.init
  111: 
  112: CLEANFILES = $(BUILT_SOURCES) $(pkg_packages)
  113: 
  114: EXTRA_DIST = $(pkg_manifests:%=%.in) $(pkg_prototypes:%=%.in) \
  115: 	$(pkg_names:%=pkginfo.%.tmpl.in) $(srcdir)/pkginfo.tmpl.in \
  116: 	$(pkg_depends:%=%.in) quagga.init.in README.txt
  117: 
  118: pkg-root-install:
  119: 	(cd $(top_builddir) && \
  120: 	 $(MAKE) DESTDIR=$(abs_builddir)/quagga-root install)
  121: 
  122: packages: $(pkg_packages)
  123: 
  124: #nodist_pkgdata_DATA = $(pkg_packages)
  125: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>