xmake.lua 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package("awk")
  2. set_kind("binary")
  3. set_homepage("https://github.com/onetrueawk/awk")
  4. set_description("One true awk")
  5. set_license("MIT-Lucent")
  6. add_urls("https://github.com/onetrueawk/awk/archive/refs/tags/$(version).tar.gz",
  7. "https://github.com/onetrueawk/awk.git")
  8. add_versions("20251225", "626d7d19f8e4ceae70f60e2e662291789e0f54ab86945317a3d5693c30f847a2")
  9. add_deps("bison")
  10. on_install("@linux", "@macosx", "@bsd", function (package)
  11. os.vrun("bison -d awkgram.y")
  12. io.writefile("xmake.lua", [[
  13. add_rules("mode.debug", "mode.release")
  14. target("maketab")
  15. set_kind("binary")
  16. add_files("maketab.c")
  17. set_plat(os.host())
  18. set_arch(os.arch())
  19. after_build(function (target)
  20. os.vrunv(target:targetfile(), {"awkgram.tab.h"}, {stdout = "proctab.c", curdir = os.projectdir()})
  21. end)
  22. ]])
  23. os.vrun(os.programfile())
  24. io.writefile("xmake.lua", [[
  25. add_rules("mode.debug", "mode.release")
  26. target("awk")
  27. set_kind("binary")
  28. add_files("*.c|maketab.c")
  29. ]])
  30. import("package.tools.xmake").install(package)
  31. end)
  32. on_test(function (package)
  33. os.vrun("awk --version")
  34. end)