blob: 8b9114ac38741df3ac9273d2da4c8e79eafbaa29 [file] [log] [blame]
Andrew Geissler84ad7c52020-06-27 00:00:16 -05001inherit esw deploy python3native
2
3ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_udp_perf_server/src/"
4
5DEPENDS += "dtc-native python3-dtc-native libxil lwip xiltimer device-tree python3-pyyaml-native"
6
7do_configure_prepend() {
8 cd ${S}
9 nativepython3 ${S}/scripts/linker_gen.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
10}
11
12do_generate_app_data() {
13 # This script should also not rely on relative paths and such
14 cd ${S}
15 nativepython3 ${S}/scripts/lib_parser.py -d ${DTBFILE} -o ${OECMAKE_SOURCEPATH}
16}
17addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot
18do_prepare_recipe_sysroot[rdeptask] = "do_unpack"
19
20do_install() {
21 install -d ${D}/${base_libdir}/firmware
22 # Note that we have to make the ELF executable for it to be stripped
23 install -m 0755 ${B}/lwip_udp_perf_server* ${D}/${base_libdir}/firmware
24}
25
26LWIP_UDP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
27LWIP_UDP_PERF_SERVER_BASE_NAME[vardepsexclude] = "DATETIME"
28
29do_deploy() {
30
31 # We need to deploy the stripped elf, hence why not doing it from ${D}
32 install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.elf ${DEPLOYDIR}/${LWIP_UDP_PERF_SERVER_BASE_NAME}.elf
33 ln -sf ${LWIP_UDP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf
34 ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.bin
35 install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.bin ${DEPLOYDIR}/${LWIP_UDP_PERF_SERVER_BASE_NAME}.bin
36 ln -sf ${LWIP_UDP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin
37}
38
39addtask deploy before do_build after do_package
40
41FILES_${PN} = "${base_libdir}/firmware/lwip_udp_perf_server*"