!config
# Arara, the cool TeX automation tool
# Copyright (c) 2023, Island of TeX
# All rights reserved.
#
# This rule is part of arara.
identifier: make
name: Make
authors:
- Island of TeX
commands:
- name: The Make program
  command: >
    @{
        if (!targets.isEmpty()) {
            tasks = [];
            for (target : targets) {
                tasks.add(getCommand('make', target, options));
            }
            return tasks;
        }
        else {
            return getCommand('make', options);
        }
    }
arguments:
- identifier: targets
  flag: >
    @{
       if (isList(parameters.targets)) {
           return parameters.targets;
       }
       else {
           throwError('I was expecting a list of targets.');
       }
    }
- identifier: options
  flag: >
    @{
        if (isList(parameters.options)) {
            return parameters.options;
        }
        else {
            throwError('I was expecting a list of options.');
        }
    }
