Differences from make

A-A-P home page | A-A-P Recipe Executive
--- | ---
Prev |  | Next

# Chapter 22. Differences from make

Aap recipes looks like a Makefile. But there are many differences. The most important an unexpected ones are mentioned here.

## Build if file does not exist

In a Makefile a dependency with only a target is not executed if the target exits. With Aap the build commands will be executed in more situations:

- when the build commands were never executed

- when the build commands have changed

For example, this dependency is often used in a Makefile to create a symbolic link when it doesn't exist yet:

        gvim:
            ln -s vim gvim

When running Aap with this recipe for the first time and the "gvim" link already exists, you will get an error message.

To avoid this problem, set the buildcheck attribute to an empty string:

        gvim: {buildcheck=}
            :sys ln -s vim gvim

Note: if the symbolic link exists but the file that it points to doesn't exist you still get an error. But that's probably what you wanted.

Prev | Contents | Next
Debugging a Recipe | Up | Customizing Filetype Detection and Actions