wrk: fix parallel build failure due to missing obj directory

The obj/bytecode.c rule in the wrk Makefile has no dependency on the
obj/ directory, so with parallel make luajit can run before obj/ has
been created and fails:

  LUAJIT src/wrk.lua
  luajit: .../obj/bytecode.c: No such file or directory
  make: *** [Makefile:64: obj/bytecode.c] Error 1

wrk only supports in-tree builds (relative obj/ and src/ paths, B = S),
so create ${S}/obj via do_compile[dirs], keeping ${S} last so make
still runs from the source directory.

Signed-off-by: Vaibhav Jindal <vaibjind@qti.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
Vaibhav Jindal authored and Khem Raj committed 2026-10-29 21:28:12 -07:00
1 parent e3028d4a4e
commit a6e9171451
1 file changed
+4
@@ -23,6 +23,10 @@ EXTRA_OEMAKE = "\
CFLAGS='${CFLAGS} -I${RECIPE_SYSROOT}/usr/include/luajit-2.1' \
"
# wrk's Makefile is in-tree only (relative obj/, src/) and its obj/bytecode.c
# rule doesn't depend on obj/, so create it before make runs in ${S}.
do_compile[dirs] = "${S}/obj ${S}"
do_compile() {
export LUA_PATH="${RECIPE_SYSROOT_NATIVE}/usr/share/luajit-2.1/?.lua;;"
oe_runmake