id = "make" name = "GNU Make" description = "Build targets according to a Makefile." homepage = "https://www.gnu.org/software/make/" executables = ["make"] [commands] format = 1 label = "Run make" description = "Build one or more targets. Options missing from the completion spec (such as --dry-run and -s) are left out." quality = "ai-draft" base = "fig:make" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = true } [[commands.source]] id = "fig" kind = "completion" url = "https://github.com/withfig/autocomplete/blob/master/src/make.ts" license = "MIT" [[commands.field]] id = "targets" label = "Targets" type = "string" position = 0 multiple = true sources = ["fig"] [[commands.field]] id = "jobs" label = "Parallel jobs" type = "integer" option = ["-j"] sources = ["fig"] [[commands.field]] id = "file" label = "Makefile" type = "path" option = ["--file", "-f", "--makefile"] path = { kind = "file", role = "input", must_exist = true } sources = ["fig"] [[commands.field]] id = "directory" label = "Change directory first" type = "path" option = ["--directory", "-C"] path = { kind = "directory", role = "input" } sources = ["fig"] [[commands.field]] id = "always_make" label = "Rebuild everything" type = "boolean" option = ["--always-make", "-B"] sources = ["fig"] [[commands.field]] id = "keep_going" label = "Keep going after errors" type = "boolean" option = ["--keep-going", "-k"] sources = ["fig"] [[commands.field]] id = "ignore_errors" label = "Ignore command errors" type = "boolean" option = ["--ignore-errors", "-i"] sources = ["fig"] [[commands.field]] id = "print_directory" label = "Print directory changes" type = "boolean" option = ["--print-directory", "-w"] sources = ["fig"] [[commands.field]] id = "question" label = "Only report whether up to date" type = "boolean" option = ["--question", "-q"] sources = ["fig"] [[commands.field]] id = "touch" label = "Touch targets instead of rebuilding" type = "boolean" option = ["--touch", "-t"] effect = "overwrite" sources = ["fig"] [[commands.task]] id = "build" label = "Build targets" fields = ["targets"] [[commands.task]] id = "parallel" label = "Parallel build" fields = ["targets", "jobs"] required = ["jobs"] [[commands.task]] id = "rebuild" label = "Rebuild everything" fields = ["targets", "always_make"] set = { always_make = [true] } [[commands.group]] id = "basic" label = "Basic" fields = ["targets", "jobs", "directory", "always_make", "keep_going"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["file", "print_directory", "question", "touch", "ignore_errors"]