blob: 48fbc57215354cfa77081f12e0ed29daed9ef323 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001SUMMARY = "Universal Boot Loader for embedded devices"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05002PROVIDES = "virtual/bootloader"
3
Patrick Williamsc0f7c042017-02-23 20:41:17 -06004B = "${WORKDIR}/build"
Patrick Williamsc124f4f2015-09-15 14:41:29 -05005
6PACKAGE_ARCH = "${MACHINE_ARCH}"
7
Patrick Williamsc0f7c042017-02-23 20:41:17 -06008inherit uboot-config uboot-extlinux-config uboot-sign deploy
Patrick Williamsc124f4f2015-09-15 14:41:29 -05009
Brad Bishopd5ae7d92018-06-14 09:52:03 -070010DEPENDS += "swig-native python-native"
11
Patrick Williamsc124f4f2015-09-15 14:41:29 -050012EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}" V=1'
13EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"'
Brad Bishopd5ae7d92018-06-14 09:52:03 -070014EXTRA_OEMAKE += 'PYTHON=nativepython STAGING_INCDIR=${STAGING_INCDIR_NATIVE} STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE}'
Patrick Williamsc124f4f2015-09-15 14:41:29 -050015
16PACKAGECONFIG ??= "openssl"
17# u-boot will compile its own tools during the build, with specific
18# configurations (aka when CONFIG_FIT_SIGNATURE is enabled) openssl is needed as
19# a host build dependency.
20PACKAGECONFIG[openssl] = ",,openssl-native"
21
22# Allow setting an additional version string that will be picked up by the
23# u-boot build system and appended to the u-boot version. If the .scmversion
24# file already exists it will not be overwritten.
25UBOOT_LOCALVERSION ?= ""
26
27# Some versions of u-boot use .bin and others use .img. By default use .bin
28# but enable individual recipes to change this value.
29UBOOT_SUFFIX ??= "bin"
30UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050031UBOOT_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_SUFFIX}"
32UBOOT_MAKE_TARGET ?= "all"
33
34# Output the ELF generated. Some platforms can use the ELF file and directly
35# load it (JTAG booting, QEMU) additionally the ELF can be used for debugging
36# purposes.
37UBOOT_ELF ?= ""
38UBOOT_ELF_SUFFIX ?= "elf"
39UBOOT_ELF_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}"
40UBOOT_ELF_BINARY ?= "u-boot.${UBOOT_ELF_SUFFIX}"
41UBOOT_ELF_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_ELF_SUFFIX}"
42
43# Some versions of u-boot build an SPL (Second Program Loader) image that
44# should be packaged along with the u-boot binary as well as placed in the
45# deploy directory. For those versions they can set the following variables
46# to allow packaging the SPL.
47SPL_BINARY ?= ""
Brad Bishop6e60e8b2018-02-01 10:27:11 -050048SPL_BINARYNAME ?= "${@os.path.basename(d.getVar("SPL_BINARY"))}"
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050049SPL_IMAGE ?= "${SPL_BINARYNAME}-${MACHINE}-${PV}-${PR}"
50SPL_SYMLINK ?= "${SPL_BINARYNAME}-${MACHINE}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -050051
52# Additional environment variables or a script can be installed alongside
53# u-boot to be used automatically on boot. This file, typically 'uEnv.txt'
54# or 'boot.scr', should be packaged along with u-boot as well as placed in the
55# deploy directory. Machine configurations needing one of these files should
56# include it in the SRC_URI and set the UBOOT_ENV parameter.
57UBOOT_ENV_SUFFIX ?= "txt"
58UBOOT_ENV ?= ""
59UBOOT_ENV_BINARY ?= "${UBOOT_ENV}.${UBOOT_ENV_SUFFIX}"
60UBOOT_ENV_IMAGE ?= "${UBOOT_ENV}-${MACHINE}-${PV}-${PR}.${UBOOT_ENV_SUFFIX}"
61UBOOT_ENV_SYMLINK ?= "${UBOOT_ENV}-${MACHINE}.${UBOOT_ENV_SUFFIX}"
62
Patrick Williamsc0f7c042017-02-23 20:41:17 -060063# U-Boot EXTLINUX variables. U-Boot searches for /boot/extlinux/extlinux.conf
64# to find EXTLINUX conf file.
65UBOOT_EXTLINUX_INSTALL_DIR ?= "/boot/extlinux"
66UBOOT_EXTLINUX_CONF_NAME ?= "extlinux.conf"
67UBOOT_EXTLINUX_SYMLINK ?= "${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE}-${PR}"
68
Patrick Williamsc124f4f2015-09-15 14:41:29 -050069do_compile () {
Brad Bishop6e60e8b2018-02-01 10:27:11 -050070 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'ld-is-gold', d)}" ]; then
Patrick Williamsc0f7c042017-02-23 20:41:17 -060071 sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' ${S}/config.mk
Patrick Williamsc124f4f2015-09-15 14:41:29 -050072 fi
73
74 unset LDFLAGS
75 unset CFLAGS
76 unset CPPFLAGS
77
78 if [ ! -e ${B}/.scmversion -a ! -e ${S}/.scmversion ]
79 then
80 echo ${UBOOT_LOCALVERSION} > ${B}/.scmversion
81 echo ${UBOOT_LOCALVERSION} > ${S}/.scmversion
82 fi
Patrick Williamsc0f7c042017-02-23 20:41:17 -060083
84 if [ -n "${UBOOT_CONFIG}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -050085 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -060086 unset i j k
Patrick Williamsc124f4f2015-09-15 14:41:29 -050087 for config in ${UBOOT_MACHINE}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -060088 i=$(expr $i + 1);
89 for type in ${UBOOT_CONFIG}; do
90 j=$(expr $j + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -050091 if [ $j -eq $i ]
92 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -060093 oe_runmake -C ${S} O=${B}/${config} ${config}
94 oe_runmake -C ${S} O=${B}/${config} ${UBOOT_MAKE_TARGET}
95 for binary in ${UBOOT_BINARIES}; do
96 k=$(expr $k + 1);
97 if [ $k -eq $i ]; then
98 cp ${B}/${config}/${binary} ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
99 fi
100 done
101 unset k
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500102 fi
103 done
104 unset j
105 done
106 unset i
107 else
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600108 oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE}
109 oe_runmake -C ${S} O=${B} ${UBOOT_MAKE_TARGET}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500110 fi
111
112}
113
114do_install () {
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600115 if [ -n "${UBOOT_CONFIG}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500116 then
117 for config in ${UBOOT_MACHINE}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600118 i=$(expr $i + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500119 for type in ${UBOOT_CONFIG}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600120 j=$(expr $j + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500121 if [ $j -eq $i ]
122 then
123 install -d ${D}/boot
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600124 install -m 644 ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500125 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type}
126 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}
127 fi
128 done
129 unset j
130 done
131 unset i
132 else
133 install -d ${D}/boot
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600134 install -m 644 ${B}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500135 ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
136 fi
137
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600138 if [ -n "${UBOOT_ELF}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500139 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600140 if [ -n "${UBOOT_CONFIG}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500141 then
142 for config in ${UBOOT_MACHINE}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600143 i=$(expr $i + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500144 for type in ${UBOOT_CONFIG}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600145 j=$(expr $j + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500146 if [ $j -eq $i ]
147 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600148 install -m 644 ${B}/${config}/${UBOOT_ELF} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500149 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type}
150 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}
151 fi
152 done
153 unset j
154 done
155 unset i
156 else
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600157 install -m 644 ${B}/${UBOOT_ELF} ${D}/boot/${UBOOT_ELF_IMAGE}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500158 ln -sf ${UBOOT_ELF_IMAGE} ${D}/boot/${UBOOT_ELF_BINARY}
159 fi
160 fi
161
162 if [ -e ${WORKDIR}/fw_env.config ] ; then
163 install -d ${D}${sysconfdir}
164 install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
165 fi
166
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600167 if [ -n "${SPL_BINARY}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500168 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600169 if [ -n "${UBOOT_CONFIG}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500170 then
171 for config in ${UBOOT_MACHINE}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600172 i=$(expr $i + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500173 for type in ${UBOOT_CONFIG}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600174 j=$(expr $j + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500175 if [ $j -eq $i ]
176 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600177 install -m 644 ${B}/${config}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}-${type}-${PV}-${PR}
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500178 ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARYNAME}-${type}
179 ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARYNAME}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500180 fi
181 done
182 unset j
183 done
184 unset i
185 else
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600186 install -m 644 ${B}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}
Patrick Williamsd8c66bc2016-06-20 12:57:21 -0500187 ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARYNAME}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500188 fi
189 fi
190
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600191 if [ -n "${UBOOT_ENV}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500192 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600193 install -m 644 ${WORKDIR}/${UBOOT_ENV_BINARY} ${D}/boot/${UBOOT_ENV_IMAGE}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500194 ln -sf ${UBOOT_ENV_IMAGE} ${D}/boot/${UBOOT_ENV_BINARY}
195 fi
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600196
197 if [ "${UBOOT_EXTLINUX}" = "1" ]
198 then
199 install -Dm 0644 ${UBOOT_EXTLINUX_CONFIG} ${D}/${UBOOT_EXTLINUX_INSTALL_DIR}/${UBOOT_EXTLINUX_CONF_NAME}
200 fi
201
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500202}
203
204FILES_${PN} = "/boot ${sysconfdir}"
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500205
206do_deploy () {
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600207 if [ -n "${UBOOT_CONFIG}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500208 then
209 for config in ${UBOOT_MACHINE}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600210 i=$(expr $i + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500211 for type in ${UBOOT_CONFIG}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600212 j=$(expr $j + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500213 if [ $j -eq $i ]
214 then
215 install -d ${DEPLOYDIR}
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600216 install -m 644 ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500217 cd ${DEPLOYDIR}
218 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}-${type}
219 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}
220 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}-${type}
221 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600222 fi
223 done
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500224 unset j
225 done
226 unset i
227 else
228 install -d ${DEPLOYDIR}
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600229 install -m 644 ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500230 cd ${DEPLOYDIR}
231 rm -f ${UBOOT_BINARY} ${UBOOT_SYMLINK}
232 ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK}
233 ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY}
Brad Bishop1a4b7ee2018-12-16 17:11:34 -0800234 fi
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500235
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600236 if [ -n "${UBOOT_ELF}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500237 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600238 if [ -n "${UBOOT_CONFIG}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500239 then
240 for config in ${UBOOT_MACHINE}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600241 i=$(expr $i + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500242 for type in ${UBOOT_CONFIG}; do
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600243 j=$(expr $j + 1);
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500244 if [ $j -eq $i ]
245 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600246 install -m 644 ${B}/${config}/${UBOOT_ELF} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500247 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}-${type}
248 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}
249 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}-${type}
250 ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}
251 fi
252 done
253 unset j
254 done
255 unset i
256 else
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600257 install -m 644 ${B}/${UBOOT_ELF} ${DEPLOYDIR}/${UBOOT_ELF_IMAGE}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500258 ln -sf ${UBOOT_ELF_IMAGE} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}
259 ln -sf ${UBOOT_ELF_IMAGE} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}
260 fi
261 fi
262
263
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600264 if [ -n "${SPL_BINARY}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500265 then
Brad Bishop1a4b7ee2018-12-16 17:11:34 -0800266 if [ -n "${UBOOT_CONFIG}" ]
267 then
268 for config in ${UBOOT_MACHINE}; do
269 i=$(expr $i + 1);
270 for type in ${UBOOT_CONFIG}; do
271 j=$(expr $j + 1);
272 if [ $j -eq $i ]
273 then
274 install -m 644 ${B}/${config}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}-${type}-${PV}-${PR}
275 rm -f ${DEPLOYDIR}/${SPL_BINARYNAME} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
276 ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARYNAME}-${type}
277 ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARYNAME}
278 ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_SYMLINK}-${type}
279 ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_SYMLINK}
280 fi
281 done
282 unset j
283 done
284 unset i
285 else
286 install -m 644 ${B}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}
287 rm -f ${DEPLOYDIR}/${SPL_BINARYNAME} ${DEPLOYDIR}/${SPL_SYMLINK}
288 ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARYNAME}
289 ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK}
290 fi
291 fi
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500292
293
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600294 if [ -n "${UBOOT_ENV}" ]
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500295 then
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600296 install -m 644 ${WORKDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_IMAGE}
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500297 rm -f ${DEPLOYDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK}
298 ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_BINARY}
299 ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK}
300 fi
Patrick Williamsc0f7c042017-02-23 20:41:17 -0600301
302 if [ "${UBOOT_EXTLINUX}" = "1" ]
303 then
304 install -m 644 ${UBOOT_EXTLINUX_CONFIG} ${DEPLOYDIR}/${UBOOT_EXTLINUX_SYMLINK}
305 ln -sf ${UBOOT_EXTLINUX_SYMLINK} ${DEPLOYDIR}/${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE}
306 ln -sf ${UBOOT_EXTLINUX_SYMLINK} ${DEPLOYDIR}/${UBOOT_EXTLINUX_CONF_NAME}
307 fi
Patrick Williamsc124f4f2015-09-15 14:41:29 -0500308}
309
Brad Bishopd7bf8c12018-02-25 22:55:05 -0500310addtask deploy before do_build after do_compile