> For the complete documentation index, see [llms.txt](https://jmdash.gitbook.io/jmdash-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jmdash.gitbook.io/jmdash-docs/quick-introduction/jmcompiler/how-to-compile-with-jmc.md).

# How to compile with JMC

**JMCompiler** is a CLI compiler for **JM-**, *currently* the **only** compiler available.\
Listed below there's a list of every [parameter](https://jmdash.gitbook.io/jmdash-docs/quick-introduction/jmcompiler/how-to-compile-with-jmc#jmc-parameters-list) it parses and a [tutorial on how to compile JM- Project files](https://jmdash.gitbook.io/jmdash-docs/quick-introduction/jmcompiler/how-to-compile-with-jmc#jmcompiler-usage-tutorial).

**Note:** JMCompiler currently *only supports\** Windows, but it is going\
to support Linux and macOS too. *\*kinda*

## JMC's Option list

* `.\JMCompiler.exe --register-jmd-file-extension` Registers `.jmdpjf` as JM-'s Project file's extension.
* `.\JMCompiler.exe <jmdCodeFile>.jmdpjf <outputFileDir>.exe`\
  Compiles the JM- Project file `.jmdpjf` to a windows executable file. `.exe`

## JMCompiler compilation tutorial

To compile a **JM-** **Project file** into a windows executable file `.exe` follow these steps:

* Step 1: Create a folder and move both the project file and JMC's .exe file inside of it
* Step 2: Open a command-line processor in that folder (Like PowerShell)
* Step 3: If you didn't already do it, register the `.jmdpjf` file extension\* using:\
  `.\JMCompiler.exe --register-jmd-file-extension`
* Step 4: Compile the project file using:\
  `.\JMCompiler.exe .\projectFileName.jmdpjf .\output.exe`&#x20;
* Step 5: Done! You compiled your JM- Project file into a `.exe` file, ready to be distributed!

## Notes

* Registering the file extension adds an HKEY to Windows' registry, so it *should* require you to open the command-line processor with administrator privileges.
* **JMCompiler** will be integrated within [JM-'s official IDE](https://github.com/MaxWasTakenYT/JM-IDE).
