---
name: "chicken-do"
section: "1"
platform: "linux"
package: "chicken"
version: "6.0.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/chicken-do"
---

# chicken-do(1)

run a shell command unless the target exists and any dependency is not newer than the target

## NAME

**chicken-do** – run a shell command unless the target exists and any dependency is not newer than the target

## SYNOPSIS

**chicken-do** \[**-q**\] \[**-h**\] \[**--**\] *TARGET* *...*: *DEPENDENCY* *...*: *COMMAND* *...*

## DESCRIPTION

If the files *TARGET* *...* do not exist, or if any of the files in *DEPENDENCY* *...* are newer than one of the target files, then execute the shell commands in *COMMAND* *...*.

The program accepts the following options:

- **-h**

  Show usage and exit.

- **-q**

  Quiet operation - do not print shell commands when they are executed.

- **--**

  Treat all following tokens as target filenames, even if they begin with a **-** character.

## EXIT STATUS

The **chicken-do** utility exits 0 on success, and \>0 if an error occurs.

## EXAMPLES

Build a C program from sources:

```
$ chicken-do prg: prg.c inc.h: gcc prg.c -o prg
```

## SEE ALSO

[chicken(1)](/chicken/1.md), [chicken-status(1)](/chicken-status/1.md), [chicken-install(1)](/chicken-install/1.md), [chicken-uninstall(1)](/chicken-uninstall/1.md), [csc(1)](/csc/1.md)

More information can be found in the *CHICKEN User's Manual:* **http://wiki.call-cc.org/manual/index**.

## AUTHORS

The CHICKEN Team

## BUGS

Submit bug reports by e-mail to *chicken-janitors@nongnu.org*
