xmake(1)
π xmake(1) β the cross-platform build utility based on Lua π
okay so bestie, welcome to the manual page for xmake, from the General Commands Manual. Yes, this is literally the whole xmake(1) page, and I'm gonna walk you through it like we're texting at 2am. π«Ά
β¨ NAME β¨
xmake β a cross-platform build utility based on Lua. periodt. π
πΈ SYNOPSIS πΈ
xmake [task] [options] [target]
π¦ DESCRIPTION π¦
So xmake is a lightweight cross-platform build utility based on Lua. It uses xmake.lua to keep your project builds in check. And compared to makefile / CMakeLists.txt? The configuration syntax is more concise and intuitive, no cap. It's super friendly to novices and you can get started in a short time fr fr. The whole point is letting users focus more on actual project development instead of fighting their build system. Iconic behaviour, honestly. π
π ACTIONS π
b,buildβ Build targets if no given tasks.u,uninstallβ Uninstall the project binary files.p,packageβ Package target.r,runβ Run the project target.g,globalβ Configure the global options for xmake.i,installβ Package and install the target binary files.c,cleanβ Remove all binary and temporary files.createβ Create a new project.q,requireβ Install and update required packages.updateβ Update and uninstall the xmake program.f,configβ Configure the project.
π§ PLUGINS π§
pluginβ Manage plugins of xmake.m,macroβ Run the given macro.doxygenβ Generate the doxygen document.l,luaβ Run the lua script.repoβ Manage package repositories.serviceβ Start service for remote or distributed compilation and etc. (Experimental, still in development) β so like, it's giving baby project, be gentle with it πprojectβ Generate the project file.showβ Show the given project information.
β OPTIONS β
-q,--quietβ Quiet operation. π€«-y,--yesβ Input yes by default if need user confirm.--confirm=CONFIRMβ Input the given result if need user confirm.yesnodef
-v,--verboseβ Print lots of verbose information for users.--rootβ Allow one to run xmake as root. π-D,--diagnosisβ Print lots of diagnosis information (backtrace, check info ..) only for developers. And we can append-vto get more whole information.- e.g.
$ xmake -vD
- e.g.
--versionβ Print the version number and exit.-h,--helpβ Print this help message and exit.-F FILE,--file=FILEβ Read a givenxmake.luafile.-P PROJECT,--project=PROJECTβ Change to the given project directory. Search priority, in this exact order bestie:- The Given Command Argument
- The Environment Variable:
XMAKE_PROJECT_DIR - The Current Directory
π₯ BUILD OPTIONS π₯
-b,--buildβ Build target. This is default building mode and optional.-r,--rebuildβ Rebuild the target.-a,--allβ Build all targets.--dry-runβ Dry run to build target.-j JOBS,--jobs=JOBSβ Specifies the number of jobs to build simultaneously. (default:6)-w,--warningβ Enable the warnings output.--files=FILESβ Build the given source files.
e.g.
- xmake --files=src/main.c
- xmake --files='src/*.c' [target]
- xmake --files='src/**c|excluded_file.c'
- xmake --files='src/main.c:src/test.c'
targetβ The target name. It will build all default targets if this parameter is not specified.
π AUTHOR π
xmake is written by ruki.
This manual page was written by Yangfl for the Debian Project (and may be used by others). π«Ά
okay that's the whole thing bestie, you ate that π β¨
and that's a wrap on page xmake(1) from the General Commands Manual β go build something iconic, ily, mwah ππ¦π
π¦ where this page comes from
- alpine 3.24: xmake-doc 3.0.9-r0 Β· Apache-2.0
- debian trixie: xmake 2.9.9+ds-1 Β· Apache-2
- fedora 43: xmake 3.0.0-2.fc43 Β· Apache-2.0
- fedora 43: xmake 3.0.6-1.fc43 Β· Apache-2.0
- fedora 44: xmake 3.0.6-2.fc44 Β· Apache-2.0
- ubuntu noble: xmake 2.8.7+ds-1build2 Β· Apache-2
- ubuntu questing: xmake 2.9.9+ds-1
- ubuntu resolute: xmake 3.0.7+ds-1 Β· Apache-2
- ubuntu stonking: xmake 3.1.0+ds-1 Β· Apache-2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms