diff options
Diffstat (limited to '')
-rw-r--r-- | osx/Makefile.am | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/osx/Makefile.am b/osx/Makefile.am new file mode 100644 index 0000000..7f152e1 --- /dev/null +++ b/osx/Makefile.am @@ -0,0 +1,76 @@ +EXTRA_DIST = resources lipo +EXTRA_DIST += distribution.xml.in im.bernat.lldpd.plist.in scripts/postinstall.in scripts/preinstall.in +TEMPLATES = distribution.xml im.bernat.lldpd.plist scripts/postinstall scripts/preinstall + +if HOST_OS_OSX + +# What we need to build the package +PKGBUILD=/usr/bin/pkgbuild +PRODUCTBUILD=/usr/bin/productbuild +requirements: + @test -x $(PKGBUILD) || { echo "Needs pkgbuild ($(PKGBUILD))." ; exit 2 ; } + @test -x $(PRODUCTBUILD) || { echo "Needs productbuild ($(PRODUCTBUILD))." ; exit 2 ; } + +PKG_NAME=@PACKAGE@-@VERSION@.pkg +PKG_TITLE=@PACKAGE@ @VERSION@ +PKG_DIR=@PACKAGE@-@VERSION@ +ARCHS=@host_cpu@ + +# Main target is `pkg` +pkg: requirements ../$(PKG_NAME) + @echo "The package has been built in ../$(PKG_NAME)." + +# This is the package (to be built with productbuild) +../$(PKG_NAME): pkg.1/$(PKG_NAME) distribution.xml resources + $(PRODUCTBUILD) \ + --distribution distribution.xml \ + --resources resources \ + --package-path pkg.1 \ + --version @VERSION@ \ + $@ + +# This is a component. We only have one. We could have more and +# provide optional components to be installed. +pkg.1/$(PKG_NAME): $(PKG_DIR) scripts/postinstall scripts/preinstall + [ -d pkg.1 ] || mkdir pkg.1 + chmod +x scripts/postinstall scripts/preinstall + $(PKGBUILD) \ + --root $(PKG_DIR) \ + --identifier im.bernat.@PACKAGE@.daemon \ + --version @VERSION@ \ + --ownership recommended \ + --scripts scripts \ + $@ + +$(PKG_DIR): stamp-$(PKG_DIR) +stamp-$(PKG_DIR): $(ARCHS:%=%/$(PKG_DIR)) + $(srcdir)/lipo $(PKG_DIR) $^ + touch $@ + +pkg_curarch = $(@:stamp-%=%) +$(ARCHS:%=%/$(PKG_DIR)): %/$(PKG_DIR): stamp-% +$(ARCHS:%=stamp-%): stamp-%: im.bernat.lldpd.plist + [ -d $(pkg_curarch) ] || mkdir -p $(pkg_curarch) + (cd $(pkg_curarch) && \ + $(abs_top_srcdir)/configure @CONFIGURE_ARGS@ \ + CC="@CC@ -arch $(pkg_curarch)" \ + CPP="@CPP@") + (cd $(pkg_curarch) && \ + $(MAKE) install DESTDIR=$(abs_builddir)/$(pkg_curarch)/$(PKG_DIR)) + touch $@ + +# Install launchd plist +if HAVE_LAUNCHDDAEMONSDIR +launchddaemons_DATA = im.bernat.lldpd.plist +endif + +CLEANFILES = $(TEMPLATES) +distribution.xml: distribution.xml.in +im.bernat.lldpd.plist: im.bernat.lldpd.plist.in +scripts/postinstall: scripts/postinstall.in +scripts/preinstall: scripts/preinstall.in +include $(top_srcdir)/edit.am + +.PHONY: pkg requirements + +endif |