Makefile.ec2 revision 285049
1280928Scperciva#
2280928Scperciva# $FreeBSD: stable/10/release/Makefile.ec2 285049 2015-07-02 16:17:05Z gjb $
3280928Scperciva#
4280928Scperciva#
5280928Scperciva# Makefile for creating an EC2 AMI from a disk image.
6280928Scperciva#
7280928Scperciva
8284813Sgjb.if ${BRANCH} == "CURRENT" || ${BRANCH} == "STABLE" || ${BRANCH} == "PRERELEASE"
9285049SgjbAMINAMESUFFIX!=	date +-%Y-%m-%d
10280928Scperciva.endif
11280928Scperciva.if defined(EC2PUBLIC)
12280928ScpercivaPUBLISH=	--public
13280928Scperciva.endif
14280928Scperciva
15282618SgjbCLEANFILES+=		ec2ami
16282618Sgjb
17282618Sgjb.if !exists(/usr/local/bin/bsdec2-image-upload)
18282618SgjbCW_EC2_PORTINSTALL=	cw-ec2-portinstall
19282618SgjbCLEANFILES+=		${CW_EC2_PORTINSTALL}
20282618Sgjb.else
21282618SgjbCW_EC2_PORTINSTALL=
22282618Sgjb.endif
23282618Sgjb
24282263Sgjbcw-ec2-portinstall:
25282263Sgjb.if exists(${PORTSDIR}/net/bsdec2-image-upload/Makefile)
26282263Sgjb	make -C ${PORTSDIR}/net/bsdec2-image-upload BATCH=1 all install clean
27282263Sgjb.else
28282263Sgjb. if !exists(/usr/local/sbin/pkg-static)
29282263Sgjb	env ASSUME_ALWAYS_YES=yes pkg bootstrap -y
30282263Sgjb. endif
31282263Sgjb	env ASSUME_ALWAYS_YES=yes pkg install -y net/bsdec2-image-upload
32280928Scperciva.endif
33282618Sgjb	@touch ${.TARGET}
34282263Sgjb
35282618Sgjbec2ami: cw-ec2 ${CW_EC2_PORTINSTALL}
36280928Scperciva.if !defined(AWSKEYFILE) || !exists(${AWSKEYFILE})
37280928Scperciva	@echo "--------------------------------------------------------------"
38280928Scperciva	@echo ">>> AWSKEYFILE must point at AWS keys for EC2 AMI creation"
39280928Scperciva	@echo "--------------------------------------------------------------"
40280928Scperciva	@false
41280928Scperciva.endif
42280928Scperciva.if !defined(AWSREGION)
43280928Scperciva	@echo "--------------------------------------------------------------"
44280928Scperciva	@echo ">>> AWSREGION must be specified EC2 AMI creation"
45280928Scperciva	@echo "--------------------------------------------------------------"
46280928Scperciva	@false
47280928Scperciva.endif
48280928Scperciva.if !defined(AWSBUCKET)
49280928Scperciva	@echo "--------------------------------------------------------------"
50280928Scperciva	@echo ">>> AWSBUCKET must be specified for EC2 AMI creation"
51280928Scperciva	@echo "--------------------------------------------------------------"
52280928Scperciva	@false
53280928Scperciva.endif
54284005Sgjb	/usr/local/bin/bsdec2-image-upload ${PUBLISH} \
55284005Sgjb	    ${.OBJDIR}/ec2.raw \
56284005Sgjb	    "${TYPE} ${REVISION}-${BRANCH}-${TARGET}${AMINAMESUFFIX}" \
57284005Sgjb	    "${TYPE} ${REVISION}-${BRANCH}-${TARGET}" \
58280928Scperciva	    ${AWSREGION} ${AWSBUCKET} ${AWSKEYFILE}
59282618Sgjb	@touch ${.TARGET}
60