include ~/saods9/make.pkgs

PORTS = linux64 linux64_5 linux darwinelcapitan darwinyosemite darwinmavericks darwinmountainlion macosxelcapitan macosxyosemite macosxmavericks macosxmountainlion cygwin cygwin64 source

DEST	= voyager
USER	= joye
WEBHOST	= bokhara
DOWNLOAD= /proj/web-ds9/download
ARCHWEB = /proj/web-ds9/archive
ARCHIVE	= /proj/rd/archive/ds9

SECURITY=security unlock -p $(FOO) login.keychain;

Build = \
	rm -rf /tmp/$(1); \
	mkdir /tmp/$(1); \
	cd /tmp/$(1); \
	scp $(DEST):build/source/ds9.$(DS9VERSION).tar.gz .; \
	tar -xvzf ds9.$(DS9VERSION).tar.gz; \
	cd saods9; \
	$(2)/configure --with-arch=$(1); \
	make $(3); \
	scp dist/* $(DEST):build/$(1)/.

BuildRemote = ssh $(4) -l $(USER) 'bash -l -c " $(5) $(Build) "'

# just in case

none	:

# Source

.PHONY	: source

source	:
	cd /tmp; \
	rm -rf saods9; \
	cvs export -D today saods9; \
	rm -rf notes mods admin; \
	tar -cvf - saods9 | gzip > ~/build/source/ds9.$(DS9VERSION).tar.gz;

# Linux

.PHONY	: linux linux64_5 linux64

linux	:
	$(call BuildRemote,$@,unix,all dist,quango)
	@echo "All Done!"

linux64_5:
	$(call BuildRemote,$@,unix,all dist,mond)
	@echo "All Done!"

linux64	:
	$(call BuildRemote,$@,unix,all dist,bokhara)
	@echo "All Done!"

# Mountainlion

.PHONY	: darwinmountainlion macosxmountainlion

darwinmountainlion :
	$(call BuildRemote,$@,unix,all dist,kendall,$(SECURITY))
	@echo "All Done!"

macosxmountainlion :
	$(call BuildRemote,$@,macosx,all dist,kendall,$(SECURITY))
	@echo "All Done!"

# Mavericks

.PHONY	: darwinmavericks macosxmavericks

darwinmavericks :
	$(call BuildRemote,$@,unix,all dist,wonderland,$(SECURITY))
	@echo "All Done!"

macosxmavericks :
	$(call BuildRemote,$@,macosx,all dist,wonderland,$(SECURITY))
	@echo "All Done!"

# Yosemite

.PHONY	: darwinyosemite macosxyosemite

darwinyosemite :
	$(call BuildRemote,$@,unix,all dist,riverside,$(SECURITY))
	@echo "All Done!"

macosxyosemite :
	$(call BuildRemote,$@,macosx,all dist,riverside,$(SECURITY))
	@echo "All Done!"

# Elcapitan

.PHONY	: darwinelcapitan macosxelcapitan

darwinelcapitan :
	$(call Build,$@,unix,all dist)
	@echo "All Done!"

macosxelcapitan :
	$(call Build,$@,macosx,all dist)
	@echo "All Done!"

# Windows

.PHONY	: cygwin cygwin64

cygwin	:
	$(call Build,$@,unix,all dist)
	@echo "All Done!"

cygwin64:
	$(call Build,$@,unix,all dist)
	@echo "All Done!"

# install

.PHONY	: install archive

install : 
	@for arch in $(PORTS); \
	do \
		echo "install $$arch" ...; \
		case "$$arch" in \
			macosx*) \
				scp -p ~/build/$$arch/SAOImage*.dmg $(WEBHOST):$(DOWNLOAD)/$$arch/. ; \
				;; \
			windows) \
				scp -p ~/build/$$arch/SAOImage*.exe $(WEBHOST):$(DOWNLOAD)/$$arch/. ; \
				;; \
			*) \
				scp -p ~/build/$$arch/*.tar.gz $(WEBHOST):$(DOWNLOAD)/$$arch/. ; \
				;; \
		esac; \
	done

archive :
	@for arch in $(PORTS); \
	do \
		echo "archive $$arch ..."; \
		case "$$arch" in \
			macosx*) \
				scp -p ~/build/$$arch/SAOImage*.dmg $(WEBHOST):$(ARCHIVE)/$$arch/. ; \
				scp -p ~/build/$$arch/SAOImage*.dmg $(WEBHOST):$(ARCHWEB)/$$arch/. ; \
				;; \
			windows) \
				scp -p ~/build/$$arch/SAOImage*.exe $(WEBHOST):$(ARCHIVE)/$$arch/. ; \
				scp -p ~/build/$$arch/SAOImage*.exe $(WEBHOST):$(ARCHWEB)/$$arch/. ; \
				;; \
			*) \
				scp -p ~/build/$$arch/ds9.*.tar.gz $(WEBHOST):$(ARCHIVE)/$$arch/. ; \
				scp -p ~/build/$$arch/ds9.*.tar.gz $(WEBHOST):$(ARCHWEB)/$$arch/. ; \
				;; \
		esac; \
	done
