# Specifying the working directory

FreeBSD Porter's Handbook
Prev | Chapter 5 ³]©w Makefile | Next

# 5.12 Specifying the working directory

Each port is extracted in to a working directory, which must be writable. The ports system defaults to having the `DISTFILES` unpack in to a directory called `${DISTNAME}`. In other words, if you have set:

    PORTNAME=      foo
    PORTVERSION=   1.0

then the port's distribution files contain a top-level directory, `foo-1.0`, and the rest of the files are located under that directory.

There are a number of variables you can override if that is not the case.

## 5.12.1 `WRKSRC`

The variable lists the name of the directory that is created when the application's distfiles are extracted. If our previous example extracted into a directory called `foo` (and not `foo-1.0`) you would write:

    WRKSRC=      ${WRKDIR}/foo

or possibly

    WRKSRC=      ${WRKDIR}/${PORTNAME}

## 5.12.2 `NO_WRKSUBDIR`

If the port does not extract in to a subdirectory at all then you should set `NO_WRKSUBDIR` to indicate that.

    NO_WRKSUBDIR= yes

Prev | Home | Next
Makefile Options | Up | `CONFLICTS`

For questions about the FreeBSD ports system, e-mail <ports@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.