12.6. Etwas hinter die `bsd.port.mk`-Anweisung schreiben
Zurück | Kapitel 12. Was man machen respektive vermeiden sollte | Weiter

## 12.6. Etwas hinter die `bsd.port.mk`-Anweisung schreiben

Schreiben Sie bitte nichts hinter die `.include <bsd.port.mk>`-Zeile. Normalerweise kann dies vermieden werden, indem Sie die Datei `bsd.port.pre.mk` irgendwo in der Mitte Ihres `Makefile`s und `bsd.port.post.mk` am Ende einfügen.

### Anmerkung:

Sie dürfen entweder nur das `bsd.port.pre.mk`/`bsd.port.post.mk`-Paar oder `bsd.port.mk` alleine hinzufügen; vermischen Sie diese Verwendungen nicht!

`bsd.port.pre.mk` definiert nur einige Variablen, welche in Tests im `Makefile` benutzt werden können, `bsd.port.post.mk` definiert den Rest.

Hier sind einige wichtige Variablen, welche in `bsd.port.pre.mk` definiert sind (dies ist keine vollständige Liste, lesen Sie bitte `bsd.port.mk` für eine vollständige Auflistung).

Variable | Beschreibung
--- | ---
`ARCH` | Die Architektur, wie von `uname -m` zurückgegeben (z.B. `i386`)
`OPSYS` | Der Typ des Betriebsystems, wie von `uname -s` zurückgegeben (z.B. `FreeBSD`)
`OSREL` | Die Release Version des Betriebssystems (z.B., `2.1.5` oder `2.2.7`)
`OSVERSION` | Die numerische Version des Betriebssystems; gleichbedeutend mit `__FreeBSD_version`.
`PORTOBJFORMAT` | Das Objektformat des Systems (`elf` oder `aout`; beachten Sie, dass für „moderne“ Versionen von FreeBSD `aout` veraltet ist).
`LOCALBASE` | Die Basis des „local“ Verzeichnisbaumes (z.B. `/usr/local/`)
`PREFIX` | Wo der Port sich selbst installiert (siehe Mehr Informationen über `PREFIX`).

### Anmerkung:

Falls Sie die Variablen `USE_IMAKE`, `USE_X_PREFIX`, oder `MASTERDIR` definieren müssen, sollten Sie dies vor dem Einfügen von `bsd.port.pre.mk` machen.

Hier sind ein paar Beispiele von Dingen, die Sie hinter die Anweisung `bsd.port.pre.mk` schreiben können:

# lang/perl5 muss nicht kompliliert werden, falls perl5 schon auf dem System ist .if ${OSVERSION} > 300003 BROKEN= perl ist im System .endif # nur eine Versionsnummer für die ELF Version der shlib .if ${PORTOBJFORMAT} == "elf" TCL_LIB_FILE= ${TCL_LIB}.${SHLIB_MAJOR} .else TCL_LIB_FILE= ${TCL_LIB}.${SHLIB_MAJOR}.${SHLIB_MINOR} .endif # die Software erstellt schon eine Verknüpfung fü ELF, aber nicht fü a.out post-install: .if ${PORTOBJFORMAT} == "aout" ${LN} -sf liblinpack.so.1.0 ${PREFIX}/lib/liblinpack.so .endif

Sie haben sich daran erinnert Tabulator statt Leerzeichen nach `BROKEN=` und `TCL_LIB_FILE=` zu benutzen, oder? :-).

Zurück | Nach oben | Weiter
12.5. __FreeBSD_version Werte | Zum Anfang | 12.7. Benutzen Sie die `exec`-Anweisung in Wrapper-Skripten

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.