# Makefile template
#
# Copyright (C) 1999-2002 Riccardo Facchetti <riccardo@master.oasi.gpa.it>
#

# Default variables
@VARIABLES@
# TOP source directory.
topdir = @topdir@
top_builddir = $(topdir)

# Include the default make targets: to be put before the all-targets: rule.
@TARGETS@

# PackageMaker variables
PACKAGEMAKER=/Developer/Tools/packagemaker
PKGROOT=/tmp/apcupsd-pkg

all-targets: Makefile

install: install-exec install-@USB_DRIVER@

install-:

install-exec:
	@echo "Installing apcupsd startup script..."
	@$(SHELL) $(MKINSTALLDIRS) $(DESTDIR)/Library/StartupItems/apcupsd
	$(INSTALL_SCRIPT) ./apcupsd $(DESTDIR)/Library/StartupItems/apcupsd;
	$(INSTALL_DATA) ./StartupParameters.plist $(DESTDIR)/Library/StartupItems/apcupsd;
	chown root:wheel $(DESTDIR)/Library/StartupItems/apcupsd
	chown root:wheel $(DESTDIR)/Library/StartupItems/apcupsd/apcupsd
	chown root:wheel $(DESTDIR)/Library/StartupItems/apcupsd/StartupParameters.plist
	@echo "================================================="
	@echo " "
	@echo "apcupsd script installation for MacOS X (Darwin) complete." 
	@echo " "
	@echo "You should now edit $(DESTDIR)/$(sysconfdir)/apcupsd.conf to correspond"
	@echo "to your setup then start the apcupsd daemon with:"
	@echo " "
	@echo "    SystemStarter start \"APC UPS monitor\""
	@echo " "
	@echo "Thereafter when you reboot, it will be stopped and started"
	@echo "automatically."
	@echo " "
	@if [ -f $(DESTDIR)/$(sysconfdir)/apcupsd ] ; then \
		echo "WARNING: Old startup script $(DESTDIR)/$(sysconfdir)/apcupsd was renamed to"; \
		echo "         $(DESTDIR)/$(sysconfdir)/apcupsd.obsolete. Be sure to remove any";   \
		echo "         references to that script that you may have manually";    \
		echo "         added to the system init scripts. Apcupsd startup is";    \
		echo "         now managed via SystemStarter, making the old script";    \
		echo "         obsolete.";                                               \
		echo " ";                                                                \
		mv $(DESTDIR)/$(sysconfdir)/apcupsd $(DESTDIR)/$(sysconfdir)/apcupsd.obsolete;                 \
	fi
	@echo "================================================="

install-usb:
	@echo "Installing ApcupsdDummy.kext driver..."
	@$(SHELL) $(MKINSTALLDIRS) $(DESTDIR)/System/Library/Extensions/ApcupsdDummy.kext/Contents
	cp ./Info.plist $(DESTDIR)/System/Library/Extensions/ApcupsdDummy.kext/Contents
	chown root:wheel $(DESTDIR)/System/Library/Extensions/ApcupsdDummy.kext
	chown root:wheel $(DESTDIR)/System/Library/Extensions/ApcupsdDummy.kext/Contents
	chown root:wheel $(DESTDIR)/System/Library/Extensions/ApcupsdDummy.kext/Contents/Info.plist
	chmod 755 $(DESTDIR)/System/Library/Extensions/ApcupsdDummy.kext
	chmod 755 $(DESTDIR)/System/Library/Extensions/ApcupsdDummy.kext/Contents
	chmod 644 $(DESTDIR)/System/Library/Extensions/ApcupsdDummy.kext/Contents/Info.plist
	rm -f $(DESTDIR)/System/Library/Extensions.mkext
	rm -f $(DESTDIR)/System/Library/Extensions.kextcache
	@echo "================================================="
	@echo " "
	@echo "Driver installation complete." 
	@echo "You must REBOOT before running apcupsd."
	@echo " "
	@echo "================================================="

uninstall:
	rm -rf $(DESTDIR)/Library/StartupItems/apcupsd
	rm -rf $(DESTDIR)/System/Library/Extensions/ApcupsdDummy.kext
	rm -f $(DESTDIR)/System/Library/Extensions.mkext
	rm -f $(DESTDIR)/System/Library/Extensions.kextcache
	@echo "================================================="
	@echo " "
	@echo "Please REBOOT to complete uninstall." 
	@echo " "
	@echo "================================================="

apcupsd.pkg:
	rm -rf $(PKGROOT)
	mkdir $(PKGROOT)
	mkdir $(PKGROOT)/ApcupsdDaemon.Root
	mkdir $(PKGROOT)/ApcupsdUsbShim.Root
	mkdir $(PKGROOT)/ApcupsdDaemon.Resources
	mkdir $(PKGROOT)/ApcupsdUsbShim.Resources
	mkdir $(PKGROOT)/ApcupsdPkg.Resources
	mkdir $(PKGROOT)/Packages
	mkdir $(PKGROOT)/Apcupsd
	( cd $(topdir) && DESTDIR=$(PKGROOT)/ApcupsdDaemon.Root make install )
	mv $(PKGROOT)/ApcupsdDaemon.Root/System $(PKGROOT)/ApcupsdUsbShim.Root
	cp $(topdir)/ReleaseNotes $(PKGROOT)/ApcupsdPkg.Resources/ReadMe.txt
	cp $(topdir)/COPYING $(PKGROOT)/ApcupsdPkg.Resources/License.txt
	cp Welcome.txt $(PKGROOT)/ApcupsdPkg.Resources
	cp ApcupsdDaemon.preflight $(PKGROOT)/ApcupsdDaemon.Resources/preflight
	cp ApcupsdDaemon.postflight $(PKGROOT)/ApcupsdDaemon.Resources/postflight
	cp ApcupsdUsbShim.postflight $(PKGROOT)/ApcupsdUsbShim.Resources/postflight
	$(PACKAGEMAKER) -build -v -p $(PKGROOT)/Packages/ApcupsdDaemon.pkg -f $(PKGROOT)/ApcupsdDaemon.Root -r $(PKGROOT)/ApcupsdDaemon.Resources -i ApcupsdDaemon.Info.plist -d ApcupsdDaemon.Description.plist
	$(PACKAGEMAKER) -build -v -p $(PKGROOT)/Packages/ApcupsdUsbShim.pkg -f $(PKGROOT)/ApcupsdUsbShim.Root -r $(PKGROOT)/ApcupsdUsbShim.Resources -i ApcupsdUsbShim.Info.plist -d ApcupsdUsbShim.Description.plist
	$(PACKAGEMAKER) -build -v -p $(PKGROOT)/Apcupsd/Apcupsd-$(VERSION).pkg -mi $(PKGROOT)/Packages -r $(PKGROOT)/ApcupsdPkg.Resources -i ApcupsdPkg.Info.plist -d ApcupsdPkg.Description.plist
	hdiutil create -ov -srcfolder $(PKGROOT)/Apcupsd -volname Apcupsd-$(VERSION) Apcupsd-$(VERSION).dmg

clean:

distclean:
	@rm -f apcupsd Makefile
	@rm -rf CVS


syntax highlighted by Code2HTML, v. 0.9.1