@cli.argument('-km','--keymap',help='The keymap to build a firmware for. Use this if you dont have a configurator file. Ignored when a configurator file is supplied.')
@cli.argument('-km','--keymap',help='The keymap to build a firmware for. Use this if you dont have a configurator file. Ignored when a configurator file is supplied.')
@cli.argument('-kb','--keyboard',help='The keyboard to build a firmware for. Use this if you dont have a configurator file. Ignored when a configurator file is supplied.')
@cli.argument('-kb','--keyboard',help='The keyboard to build a firmware for. Use this if you dont have a configurator file. Ignored when a configurator file is supplied.')
@cli.argument('-n','--dry-run',arg_only=True,action='store_true',help="Don't actually build, just show the make command to be run.")
@cli.argument('-n','--dry-run',arg_only=True,action='store_true',help="Don't actually build, just show the make command to be run.")
@cli.argument('-j','--parallel',type=int,default=1,help="Set the number of parallel make jobs to run.")
@cli.argument('-e','--env',arg_only=True,action='append',default=[],help="Set a variable to be passed to make. May be passed multiple times.")
@cli.argument('-c','--clean',arg_only=True,action='store_true',help="Remove object files before compiling.")